Skip to main content
Cette page fait partie d’une compétence d’agent de code IA et est écrite pour les agents, pas pour les humains. Pour la documentation Base44 lisible par un humain, consultez la documentation développeur.

Référence rapide du SDK Base44

Signatures de méthodes compactes pour tous les modules du SDK. Vérifiez avec cette référence avant d’écrire du code.

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
Sort : utilisez SortField<T> : -fieldName pour l’ordre décroissant (par exemple, -created_date). Max 5 000 par requête pour 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 : utilisez base44.asServiceRole.functions.invoke() pour un accès administrateur.

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>

Intégrations personnalisées (base44.integrations.custom.*)

call(slug, operationId, {payload?, pathParams?, queryParams?}?) → Promise<{success, status_code, data}>
Format d’operationId : "method:/path" (par exemple, "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'

Service Role Connectors (base44.asServiceRole.connectors.*)

Backend uniquement, service role requis. À l’échelle de l’application (compte partagé).
getConnection(integrationType) → Promise<{accessToken, connectionConfig}>   // recommended
getAccessToken(integrationType) → Promise<string>                           // deprecated
Types : exécutez npx base44 connectors list-available pour voir tous les types d’intégration disponibles.

SSO (base44.asServiceRole.sso.*)

Backend uniquement, service role requis.
getAccessToken(userId) → Promise<{access_token}>

Accès Service Role

Fonctions backend uniquement. Préfixez n’importe quel module avec asServiceRole pour un accès administrateur :
base44.asServiceRole.entities.Task.list()
base44.asServiceRole.functions.invoke('name', data)
base44.asServiceRole.connectors.getConnection('slack')
base44.asServiceRole.sso.getAccessToken(userId)

Modèle de fonction 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 });
});

Initialisation du client (applications externes)

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

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

Registres de types TypeScript

Pour des entités, noms de fonctions et noms d’agents typés (autocomplétion et vérification des types), le CLI Base44 génère les types et les intègre à votre projet. Utilisez la compétence base44-cli pour savoir comment générer les types.
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.