Skip to main content
Questa pagina fa parte di una skill per agenti di codifica IA ed è scritta per gli agenti, non per gli esseri umani. Per la documentazione Base44 leggibile dagli umani, consulta la documentazione per sviluppatori.

Riferimento rapido dell’SDK Base44

Firme compatte dei metodi per tutti i moduli SDK. Verifica rispetto a questo prima di scrivere codice.

Auth (base44.auth.*)

loginViaEmailPassword(email, password, turnstileToken?) → Promise<{access_token, user}>
loginWithProvider('google' | 'microsoft' | 'facebook', fromUrl?) → void
me() → Promise<User | null>
updateMe(data) → Promise<User>
isAuthenticated() → Promise<boolean>
logout(redirectUrl?) → void
redirectToLogin(nextUrl) → void              # ⚠️ Avoid - prefer custom login UI
register({email, password, turnstile_token?, referral_code?}) → Promise<any>
verifyOtp({email, otpCode}) → Promise<any>
resendOtp(email) → Promise<any>
inviteUser(userEmail, role) → Promise<any>
resetPasswordRequest(email) → Promise<any>
resetPassword({resetToken, newPassword}) → Promise<any>
changePassword({userId, currentPassword, newPassword}) → Promise<any>
setToken(token, saveToStorage?) → void

Entities (base44.entities.EntityName.*)

create(data) → Promise<T>
bulkCreate(dataArray) → Promise<T[]>
list(sort?, limit?, skip?, fields?) → Promise<Pick<T, K>[]>
filter(query, sort?, limit?, skip?, fields?) → Promise<Pick<T, K>[]>
get(id) → Promise<T>
update(id, data) → Promise<T>
updateMany(query, mongoUpdateOp) → Promise<UpdateManyResult>   // e.g. { $set: { field: val } }
bulkUpdate(dataArray) → Promise<T[]>                           // each item must have id
delete(id) → Promise<DeleteResult>
deleteMany(query) → Promise<DeleteManyResult>
importEntities(file) → Promise<ImportResult<T>>                // frontend only
subscribe(callback) → () => void                               // returns unsubscribe fn
Ordinamento: usa SortField<T>: -fieldName per discendente (es. -created_date). Max 5.000 per richiesta per list/filter.

Functions (base44.functions.*)

invoke(functionName, data?) → Promise<AxiosResponse>  // your JSON is on .data; throws on non-2xx (err.response.data)
fetch(path, init?) → Promise<Response>   // low-level, for streaming/custom methods
Backend: usa base44.asServiceRole.functions.invoke() per accesso admin.

Integrations (base44.integrations.Core.*)

InvokeLLM({prompt, add_context_from_internet?, response_json_schema?, file_urls?}) → Promise<string | object>
GenerateImage({prompt}) → Promise<{url}>
SendEmail({to, subject, body, from_name?}) → Promise<any>
UploadFile({file}) → Promise<{file_url}>
UploadPrivateFile({file}) → Promise<{file_uri}>
CreateFileSignedUrl({file_uri, expires_in?}) → Promise<{signed_url}>
ExtractDataFromUploadedFile({file_url, json_schema}) → Promise<object>

Integrazioni personalizzate (base44.integrations.custom.*)

call(slug, operationId, {payload?, pathParams?, queryParams?}?) → Promise<{success, status_code, data}>
Formato operationId: "method:/path" (es. "get:/contacts", "post:/users/{id}")

Analytics (base44.analytics.*)

track({eventName, properties?}) → void

App Logs (base44.appLogs.*)

logUserInApp(pageName) → Promise<void>
fetchLogs(params?) → Promise<any>
getStats(params?) → Promise<any>

Users (base44.users.*)

inviteUser(userEmail, role) → Promise<any>    // role: 'user' | 'admin'

Connettori con ruolo di servizio (base44.asServiceRole.connectors.*)

Solo backend, richiede ruolo di servizio. Con scope dell’app (account condiviso).
getConnection(integrationType) → Promise<{accessToken, connectionConfig}>   // recommended
getAccessToken(integrationType) → Promise<string>                           // deprecated
Tipi: esegui npx base44 connectors list-available per vedere tutti i tipi di integrazione disponibili.

SSO (base44.asServiceRole.sso.*)

Solo backend, richiede ruolo di servizio.
getAccessToken(userId) → Promise<{access_token}>

Accesso con ruolo di servizio

Solo funzioni backend. Prefissa qualsiasi modulo con asServiceRole per accesso admin:
base44.asServiceRole.entities.Task.list()
base44.asServiceRole.functions.invoke('name', data)
base44.asServiceRole.connectors.getConnection('slack')
base44.asServiceRole.sso.getAccessToken(userId)

Template di funzione backend

import { createClientFromRequest } from "@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);
  const data = await req.json();
  
  // User context
  const user = await base44.auth.me();
  
  // Service role for admin operations
  const allRecords = await base44.asServiceRole.entities.Task.list();
  
  return Response.json({ success: true });
});

Inizializzazione del client (app esterne)

import { createClient } from "@base44/sdk";

const base44 = createClient({ appId: "your-app-id" });  // MUST use 'appId'

Registri di tipo TypeScript

Per entità, nomi di funzioni e nomi di agenti tipizzati (autocompletamento e controllo dei tipi), la CLI di Base44 genera i tipi e li collega al tuo progetto. Usa la skill base44-cli per come generare i tipi.
Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.