Files
upstream-twenty/packages/twenty-docs/l/ro/developers/extend/capabilities/apis.mdx
upstream-mirror e7da97194a
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
2026-09-17 23:28:13 +05:00

148 lines
5.8 KiB
Plaintext

---
title: API-uri
description: Interogați și modificați programatic datele din CRM folosind REST sau GraphQL.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Twenty a fost creat pentru a fi prietenos cu dezvoltatorii, oferind API-uri puternice care se adaptează la modelul dvs. de date personalizat. Oferim patru tipuri distincte de API-uri pentru a satisface diferite nevoi de integrare.
## Abordare orientată către dezvoltatori
Twenty generează API-uri special pentru modelul dvs. de date:
* **Nu sunt necesare ID-uri lungi**: Utilizați direct numele obiectelor și câmpurilor în punctele finale
* **Obiectele standard și personalizate tratate în mod egal**: Obiectele dvs. personalizate primesc același tratament API ca și cele încorporate
* **Puncte finale dedicate**: Fiecare obiect și câmp primește propriul său punct final API
* **Documentație personalizată**: Generată special pentru modelul de date al spațiului dvs. de lucru
<Note>
Documentația API personalizată este disponibilă la **Settings → API & Webhooks** după crearea unei chei API. Deoarece Twenty generează API-uri care se potrivesc modelului dvs. de date personalizat, documentația este unică pentru spațiul dvs. de lucru.
</Note>
## Cele două tipuri de API-uri
### API Core
Accesibil prin `/rest/` sau `/graphql/`
Lucrați cu **înregistrările** reale (datele):
* Creați, citiți, actualizați, ștergeți Persoane, Companii, Oportunități etc.
* Interogați și filtrați datele
* Gestionați relațiile de înregistrări
### API Metadata
Accesibil prin `/rest/metadata/` sau `/metadata/`
Gestionați-vă **spațiul de lucru și modelul de date**:
* Creați, modificați sau ștergeți obiecte și câmpuri
* Configurați setările spațiului de lucru
* Definiți relațiile dintre obiecte
## REST vs GraphQL
Atât API-urile Core, cât și API-urile Metadata sunt disponibile în formatele REST și GraphQL:
| Format | Operațiuni disponibile |
| ----------- | -------------------------------------------------------------------------- |
| **REST** | CRUD, operațiuni de grup, upsert-uri |
| **GraphQL** | La fel + **upsert-uri de grup**, interogări de relații într-un singur apel |
Alegeți în funcție de nevoi — ambele formate accesează aceleași date.
## Puncte Finale API
| Mediu | URL de bază |
| -------------------- | ------------------------- |
| **Cloud** | `https://api.twenty.com/` |
| **Găzduire proprie** | `https://{your-domain}/` |
## Autentificare
Fiecare solicitare API necesită o cheie API în antet:
```
Authorization: Bearer YOUR_API_KEY
```
### Creați o cheie API
1. Mergeți la **Setări → API-uri & Webhook-uri**
2. Faceți clic pe **+ Create key**
3. Configurați:
* **Name**: Nume descriptiv pentru cheie
* **Expiration Date**: Când expiră cheia
4. Faceți clic pe **Salvare**
5. **Copiați imediat** — cheia este afișată o singură dată
<VimeoEmbed videoId="928786722" title="Crearea unei chei API" />
<Warning>
Cheia dvs. API oferă acces la date sensibile. Nu o partajați cu servicii care nu sunt de încredere. Dacă este compromisă, dezactivați-o imediat și generați una nouă.
</Warning>
### Atribuiți un rol unei chei API
Pentru o securitate sporită, atribuiți un rol specific pentru a limita accesul:
1. Accesați **Setări → Membri → Roluri**
2. Faceți clic pe rolul pe care doriți să-l atribuiți
3. Deschideți fila **Atribuire**
4. În **API Keys**, faceți clic pe **+ Assign to API key**
5. Selectați cheia API
Cheia va moșteni permisiunile acelui rol. Consultați [Permisiuni](/l/ro/user-guide/permissions-access/capabilities/permissions) pentru detalii.
### Gestionați cheile API
**Regenerate**: Settings → APIs & Webhooks → Faceți clic pe cheie → **Regenerate**
**Delete**: Settings → APIs & Webhooks → Faceți clic pe cheie → **Delete**
## Platformă de testare API
Testați API-urile direct în browser cu platforma noastră integrată de testare — disponibilă atât pentru **REST**, cât și pentru **GraphQL**.
### Accesați platforma de testare
1. Mergeți la **Setări → API-uri & Webhook-uri**
2. Creați o cheie API (obligatoriu)
3. Faceți clic pe **REST API** sau **GraphQL API** pentru a deschide platforma de testare
### Ce obțineți
* **Documentație interactivă**: Generată pentru modelul dvs. de date specific
* **Testare live**: Executați apeluri API reale către spațiul dvs. de lucru
* **Explorator de scheme**: Parcurgeți obiectele, câmpurile și relațiile disponibile
* **Constructor de cereri**: Construiți interogări cu completare automată
Platforma de testare reflectă obiectele și câmpurile dvs. personalizate, astfel încât documentația este întotdeauna corectă pentru spațiul dvs. de lucru.
## Operațiuni de grup
Atât REST, cât și GraphQL suportă operațiuni de grup:
* **Dimensiunea grupului**: Până la 60 de înregistrări pe cerere
* **Operațiuni**: Creați, actualizați, ștergeți mai multe înregistrări
**Funcții exclusive GraphQL:**
* **Upsert de grup**: Creați sau actualizați într-un singur apel
* Folosiți nume de obiecte la plural (de exemplu, `CreateCompanies` în loc de `CreateCompany`)
## Limitări de rată
Solicitările API sunt limitate pentru a asigura stabilitatea platformei:
| Limită | Valoare |
| ----------------------- | -------------------------- |
| **Solicitări** | 100 de apeluri pe minut |
| **Dimensiunea lotului** | 60 de înregistrări pe apel |
<Tip>
Utilizați operațiunile de grup pentru a maximiza debitul — procesați până la 60 de înregistrări într-un singur apel API în loc să faceți solicitări individuale.
</Tip>