> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conformitate per persoană

> Recreați exportul de conformitate a instruirii per persoană al unui furnizor anterior pornind de la atribuirile, înscrierile și cursurile din /v1.

Acest raport reprezintă componenta de instruire a exportului de conformitate per persoană al unui furnizor anterior: identitatea din director plus un rând per persoană pentru fiecare înscriere la instruire (starea și datele modulului).

Granularitatea este în format lung — persoană × atribuire — deoarece aceasta este structura pe care o returnează deja
`GET /v1/assignments/{id}/enrollments`. Interogarea nu transformă modulele în coloane (fără pivotare).

<Note>
  Confirmările de luare la cunoștință a politicilor nu fac parte din acest raport. Living Security nu dispune de un API pentru acceptarea politicilor, astfel că aceste coloane din exportul anterior sunt în afara domeniului de aplicare, nu o mapare în curs. Consultați [Diferențe față de exportul anterior](#diferen%C8%9Be-fa%C8%9B%C4%83-de-exportul-anterior).
</Note>

Configurarea, acreditările, paginarea și reîncercarea în caz de depășire a limitei de rată sunt aceleași ca în [ghidul de conectivitate Power BI / Excel](/ro/developers/v1/powerbi). Adăugați mai întâi interogarea comună
`Fn_FetchAll`; acest raport o apelează după nume.

## Domenii de acces necesare pentru cheie

| Domeniu | Utilizare |
| - | - |
| `training:read` | `GET /v1/assignments` și `GET /v1/assignments/{id}/enrollments` |
| `course:read` | `GET /v1/courses` (titluri din catalog) |

## Endpointuri sursă

| Endpoint | Rol |
| - | - |
| `GET /v1/assignments` | Lista atribuirilor: `assignment_id`, titlu, `course_id`, starea ciclului de viață, `created_at`. Interogarea nu filtrează după stare, astfel că apar atribuirile active, suspendate și finalizate (conformitate istorică). |
| `GET /v1/assignments/{id}/enrollments` | Progresul fiecărui Cursant. O parcurgere paginată per atribuire. Aceasta este granularitatea faptelor și singura resursă `/v1` din acest raport care conține adresa de email drept cheie de asociere pentru raportare. |
| `GET /v1/courses` | Rezolvă `course_id` → titlul cursului (numele modulului de instruire). `Assignment.title` este o etichetă de campanie, nu numele modulului. |

Această interogare **nu** apelează `GET /v1/entities`. Rândul de înscriere conține deja
`email` și `display_name`, iar lista de entități nu include departamentul sau funcția — deci parcurgerea ei nu ar completa coloane de director pe care rândul de înscriere nu le conține deja.

### Granularitate

Un rând per înscriere (persoană × atribuire). O persoană căreia i s-a atribuit același curs prin două atribuiri generează două rânduri. O persoană fără înscrieri nu apare — `/v1` nu poate emite un rând de director utilizabil fără email, iar crearea de rânduri doar cu persoane ar amesteca granularitățile.

Volumul de cereri: o parcurgere paginată per atribuire, secvențial, în limita comună de rată per cheie. Setați întotdeauna `limit = "500"`.

## Maparea coloanelor

Numele coloanelor din exportul anterior provin de la furnizorul dumneavoastră anterior. Câmpurile `/v1` sunt denumirile publice din API; interogarea atribuie alias unora dintre ele pentru raport.

| Coloană din exportul anterior | Câmp `/v1` sau derivare | Coloană în raport |
| - | - | - |
| Email | `Enrollment.email` | `email` |
| Nume complet | `Enrollment.display_name` | `full_name` |
| Departament | Nu există în `/v1` | Omisă, nu completată cu valori nule |
| Alte date din director (funcție, manager, locație, …) | Nu există în `/v1` — entitățile conțin doar adresa de email și numele afișat. | Omisă |
| Modul de instruire / numele cursului | `Course.title`, cu revenire la `Assignment.title` | `course_name` |
| Starea atribuirii / modulului | `Enrollment.status` — `not_started` \| `in_progress` \| `completed` \| `overdue` \| `withdrawn` | `enrollment_status` |
| Data atribuirii | `Enrollment.assigned_at` | `assigned_at` |
| Data finalizării | `Enrollment.completed_at` | `completed_at` |
| Termen limită | `Enrollment.due_at` (este posibil ca exportul anterior să nu fi avut acest câmp; este inclus deoarece API-ul îl oferă) | `due_at` |
| Acceptarea / confirmarea politicii | Nu există domeniu pentru politici | Omisă |
| Numele politicii, data acceptării | Nu există domeniu pentru politici | Omisă |

Chei de asociere păstrate pentru un model de tip star-schema: `entity_id`, `assignment_id`,
`course_id`, `user_assignment_id`.

Interogarea păstrează de asemenea `course_slug`, `assignment_title`, `passed`,
`attempts`, `assignment_lifecycle_status` și `assignment_created_at`.
`enrollment_status` reprezintă progresul Cursantului, nu ciclul de viață al atribuirii
(`active` / `paused` / `completed`).

## Diferențe față de exportul anterior

* **Acceptările politicilor nu sunt disponibile.** Această platformă nu are
  un domeniu pentru politici — nu există `/policies`, `/policy_acceptances` sau o resursă
  `/v1` echivalentă. Nu tratați aceste coloane ca pe o mapare în curs. Ele
  sunt în afara domeniului de aplicare.
* **Datele suplimentare din director sunt omise, nu completate cu valori nule.** Departamentul, funcția,
  managerul și locația nu există în `/v1`. Interogarea nu creează
  coloane goale pentru acestea.
* **Termenul limită este inclus** chiar dacă exportul anterior nu îl avea,
  deoarece `Enrollment.due_at` este disponibil în API.
* **Numele cursului preferă titlul din catalog.** `Course.title` este numele
  modulului. `Assignment.title` este utilizat doar când rândul din catalog lipsește
  (șters sau nepublicat).
* **Format lung, fără pivotare.** Un rând per înscriere, nu un rând per
  persoană cu o coloană pentru fiecare modul.

## Pașii următori

<CardGroup cols={2}>
  <Card title="Configurarea Power BI și Excel" href="/ro/developers/v1/powerbi">
    Acreditări, paginare și încărcarea acestor interogări în Power BI sau Excel.
  </Card>

  <Card title="Jurnal de phishing prin email" href="/ro/developers/v1/reports/email-phishing-log">
    Interacțiuni de phishing la nivel de eveniment pentru ultimele 12 luni.
  </Card>

  <Card title="Cei mai vulnerabili utilizatori" href="/ro/developers/v1/reports/most-susceptible-users">
    Sinteză per persoană, pe 12 luni, a clicurilor, acreditărilor și raportărilor.
  </Card>

  <Card title="Chei API" href="/ro/developers/developer-hub/api-keys">
    Acordați `training:read` și `course:read` cheii care actualizează acest raport.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.