Pular para o conteúdo principal
O cliente Base44 é sua interface com o Base44 SDK. Ele oferece acesso a todos os módulos do SDK e gerencia automaticamente tokens de autenticação. Você pode usar o cliente de duas formas:
  • Dentro de apps Base44: o cliente é criado e configurado automaticamente para você.
  • Apps externos: crie o cliente você mesmo para usar a Base44 como backend do seu próprio app.

Dentro de apps Base44

Quando a Base44 gera seu app, o cliente do SDK é pré-configurado e está pronto para uso.

Cliente frontend

No código do seu frontend, o cliente já está importado e disponível 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`);

Funções de backend

Em funções de backend hospedadas na Base44, crie o cliente a partir da requisição recebida. A Base44 injeta os cabeçalhos de autenticação necessários automaticamente.
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 externos

Ao construir seu próprio app que usa a Base44 como backend, crie e configure o cliente você mesmo usando createClient().

Instalação

Instale o SDK via npm:
npm install @base44/sdk

Crie o cliente

Crie um cliente fornecendo o ID do seu app, que pode ser encontrado na URL do editor da 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();

Autenticação de usuário

Autentique usuários com e-mail e senha ou por meio de provedores sociais. O cliente aplica o token automaticamente nas requisições subsequentes. A autenticação social está disponível para Google, Microsoft, Facebook e 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 padrão, o cliente opera com permissões em nível de usuário, limitando o acesso ao que o usuário atual pode ver e fazer. O service role oferece permissões elevadas para operações de backend e está disponível apenas em funções de backend hospedadas na Base44.
A autenticação de service role está disponível apenas em funções de backend hospedadas na Base44. Backends externos não podem usar permissões de service role.
Um cliente com autenticação de service role permite que o código de backend:
  • Acesse dados e operações com as mesmas permissões do administrador do seu app.
  • Use módulos de administrador como o módulo connectors.
Para usar a autenticação de service role, acesse os módulos através de base44.asServiceRole em vez de diretamente no cliente. Por exemplo, base44.asServiceRole.entities.Task.list() opera com permissões de administrador, enquanto base44.entities.Task.list() usa as permissões do usuário atual. Ao usar createClientFromRequest() em uma função de backend, o service role está automaticamente disponível:
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 });
});

Veja mais

createClient()

Referência completa da API

createClientFromRequest()

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