Saltar al contenido principal
El cliente de Base44 es tu interfaz con el SDK de Base44. Proporciona acceso a todos los módulos del SDK y gestiona automáticamente los tokens de autenticación. Puedes usar el cliente de dos formas:
  • Dentro de las apps de Base44: el cliente se crea y configura automáticamente para ti.
  • Apps externas: crea el cliente tú mismo para usar Base44 como backend de tu propia app.

Dentro de las apps de Base44

Cuando Base44 genera tu app, el cliente del SDK está preconfigurado y listo para usar.

Cliente de frontend

En tu código de frontend, el cliente ya está importado y disponible como base44.
import { base44 } from "@/api/base44Client";

// The client is pre-configured and ready to use
const user = await base44.auth.me();
const userTasks = await base44.entities.Task.filter({
  assignedTo: user.id,
  status: "pending",
});

console.log(`${user.name} has ${userTasks.length} pending tasks`);

Funciones del backend

En las funciones del backend alojadas en Base44, crea el cliente a partir de la solicitud entrante. Base44 inyecta automáticamente las cabeceras de autenticación necesarias.
import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Get the current user and their data
  const user = await base44.auth.me();
  const userTasks = await base44.entities.Task.filter({
    assignedTo: user.id,
    status: "pending",
  });

  return Response.json({
    user: user.name,
    pendingTasks: userTasks.length,
  });
});

Apps externas

Cuando construyes tu propia app que usa Base44 como backend, crea y configura el cliente tú mismo usando createClient().

Instalación

Instala el SDK con npm:
npm install @base44/sdk

Crear el cliente

Crea un cliente proporcionando tu ID de app, que puedes encontrar en la URL del editor de Base44:
https://app.base44.com/apps/<your-app-id>/editor/...
import { createClient } from "@base44/sdk";

// Create a client for your Base44 app
const base44 = createClient({
  appId: "your-app-id", // Find this in the Base44 editor URL
});

// Read public data (anonymous access)
const products = await base44.entities.Products.list();

Autenticación de usuario

Autentica a los usuarios con email y contraseña o a través de proveedores sociales. El cliente aplica automáticamente el token a las solicitudes posteriores. La autenticación social está disponible para Google, Microsoft, Facebook y Apple usando loginWithProvider().
import { createClient } from "@base44/sdk";

const base44 = createClient({
  appId: "your-app-id",
});

// Authenticate a user (token is automatically set)
await base44.auth.loginViaEmailPassword("user@example.com", "password");

// Now operations use the authenticated user's permissions
const userOrders = await base44.entities.Orders.list();

Service role

Por defecto, el cliente opera con permisos a nivel de usuario, limitando el acceso a lo que el usuario actual puede ver y hacer. El service role proporciona permisos elevados para operaciones del backend y solo está disponible en funciones del backend alojadas en Base44.
La autenticación de service role solo está disponible en funciones del backend alojadas en Base44. Los backends externos no pueden usar permisos de service role.
Un cliente con autenticación de service role permite al código del backend:
  • Acceder a datos y operaciones con los mismos permisos que el administrador de tu app.
  • Usar módulos de administración como el módulo connectors.
Para usar la autenticación de service role, accede a los módulos a través de base44.asServiceRole en lugar de directamente en el cliente. Por ejemplo, base44.asServiceRole.entities.Task.list() opera con permisos de administrador, mientras que base44.entities.Task.list() usa los permisos del usuario actual. Cuando usas createClientFromRequest() en una función del backend, el service role está disponible automáticamente:
import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Access all data with admin-level permissions
  const allOrders = await base44.asServiceRole.entities.Orders.list();

  return Response.json({ orders: allOrders });
});

Más información

createClient()

Referencia completa de la API

createClientFromRequest()

Creación del cliente para el backend
Esta página se tradujo con IA. Para información más precisa y actualizada, consulta la versión en inglés.