> ## 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.

# Відповідність вимогам навчання для кожної особи

> Відтворіть експорт відповідності вимогам навчання для кожної особи від попереднього постачальника на основі призначень, зарахувань і курсів із /v1.

Цей звіт є навчальною частиною експорту відповідності вимогам для кожної особи від попереднього постачальника: ідентифікаційні дані з каталогу плюс один рядок на кожну особу для кожного зарахування на навчання (статус і дати модуля).

Деталізація має довгу форму — особа × призначення — оскільки саме це
`GET /v1/assignments/{id}/enrollments` уже повертає. Запит не
перетворює модулі на стовпці.

<Note>
  Підтвердження ознайомлення з політиками не входять до цього звіту. У Living Security
  немає API для прийняття політик, тому відповідні застарілі стовпці перебувають поза межами охоплення, а не очікують на зіставлення. Див. [Відмінності від застарілого експорту](#%D0%B2%D1%96%D0%B4%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%B2%D1%96%D0%B4-%D0%B7%D0%B0%D1%81%D1%82%D0%B0%D1%80%D1%96%D0%BB%D0%BE%D0%B3%D0%BE-%D0%B5%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82%D1%83).
</Note>

Налаштування, облікові дані, розбиття на сторінки та повторні спроби при перевищенні обмеження частоти запитів такі самі, як у
[посібнику з підключення Power BI / Excel](/uk/developers/v1/powerbi). Спочатку додайте спільний запит
`Fn_FetchAll`; цей звіт викликає його за назвою.

## Необхідні області дії ключа

| Область дії | Призначення |
| - | - |
| `training:read` | `GET /v1/assignments` і `GET /v1/assignments/{id}/enrollments` |
| `course:read` | `GET /v1/courses` (назви з каталогу) |

## Вихідні кінцеві точки

| Кінцева точка | Роль |
| - | - |
| `GET /v1/assignments` | Список призначень: `assignment_id`, назва, `course_id`, статус життєвого циклу, `created_at`. Запит не фільтрує за статусом, тому відображаються активні, призупинені та завершені призначення (історична відповідність вимогам). |
| `GET /v1/assignments/{id}/enrollments` | Прогрес кожного Learner. Один постраничний обхід на кожне призначення. Це рівень деталізації фактів і єдиний ресурс `/v1` у цьому звіті, що містить електронну пошту як ключ зв’язування для звітності. |
| `GET /v1/courses` | Зіставляє `course_id` → назву курсу (назву навчального модуля). `Assignment.title` є міткою кампанії, а не назвою модуля. |

Цей запит **не** викликає `GET /v1/entities`. Рядок зарахування
вже містить `email` і `display_name`, а в списку сутностей немає
підрозділу чи посади, тому його обхід не заповнив би стовпці
каталогу, яких немає в рядку зарахування.

### Деталізація

Один рядок на зарахування (особа × призначення). Якщо особі призначено той самий
курс через два призначення, виникає два рядки. Особа без
зарахувань не відображається — `/v1` не може сформувати придатний рядок каталогу
без електронної пошти, а вигадування рядків лише для осіб змішало б рівні деталізації.

Бюджет запитів: один постраничний обхід на кожне призначення, послідовно, в межах
спільного обмеження частоти запитів для ключа. Завжди задавайте `limit = "500"`.

## Зіставлення стовпців

Назви застарілих стовпців узято з експорту вашого попереднього постачальника. Поля `/v1` —
це назви публічного API; запит перейменовує деякі з них для звіту.

| Застарілий стовпець | Поле `/v1` або похідне значення | Стовпець звіту |
| - | - | - |
| Email | `Enrollment.email` | `email` |
| Full name | `Enrollment.display_name` | `full_name` |
| Department | Відсутнє в `/v1` | Пропущено, не заповнено null |
| Інші дані каталогу (посада, керівник, розташування, …) | Відсутні в `/v1` — сутності містять лише електронну пошту та відображуване ім’я. | Пропущено |
| Training module / course name | `Course.title`, із резервним використанням `Assignment.title` | `course_name` |
| Assignment / module status | `Enrollment.status` — `not_started` \| `in_progress` \| `completed` \| `overdue` \| `withdrawn` | `enrollment_status` |
| Assigned date | `Enrollment.assigned_at` | `assigned_at` |
| Completed date | `Enrollment.completed_at` | `completed_at` |
| Due date | `Enrollment.due_at` (у застарілому експорті цього могло не бути; включено, оскільки це надає API) | `due_at` |
| Policy acceptance / acknowledgement | Немає домену політик | Пропущено |
| Policy name, accepted date | Немає домену політик | Пропущено |

Ключі зв’язування, збережені для зіркової моделі: `entity_id`, `assignment_id`,
`course_id`, `user_assignment_id`.

Запит також зберігає `course_slug`, `assignment_title`, `passed`,
`attempts`, `assignment_lifecycle_status` і `assignment_created_at`.
`enrollment_status` — це прогрес Learner, а не життєвий цикл призначення
(`active` / `paused` / `completed`).

## Відмінності від застарілого експорту

* **Прийняття політик недоступне.** На цій платформі немає
  домену політик — немає `/policies`, `/policy_acceptances` або еквівалентного
  ресурсу `/v1`. Не розглядайте ці стовпці як такі, що очікують на зіставлення. Вони
  перебувають поза межами охоплення.
* **Додаткові дані каталогу пропущено, а не заповнено null.** Підрозділ, посада,
  керівник і розташування відсутні в `/v1`. Запит не створює
  порожніх стовпців для них.
* **Термін виконання включено**, навіть якщо його не було в застарілому експорті,
  оскільки `Enrollment.due_at` є в API.
* **Для назви курсу надається перевага назві з каталогу.** `Course.title` — це назва
  модуля. `Assignment.title` використовується лише тоді, коли запис каталогу відсутній
  (видалений або неопублікований).
* **Довга форма, без зведення.** Один рядок на зарахування, а не один рядок на
  особу зі стовпцем для кожного модуля.

## Наступні кроки

<CardGroup cols={2}>
  <Card title="Налаштування Power BI та Excel" href="/uk/developers/v1/powerbi">
    Облікові дані, розбиття на сторінки та завантаження цих запитів у Power BI або Excel.
  </Card>

  <Card title="Журнал фішингових електронних листів" href="/uk/developers/v1/reports/email-phishing-log">
    Фішингові взаємодії на рівні подій за останні 12 місяців.
  </Card>

  <Card title="Найуразливіші користувачі" href="/uk/developers/v1/reports/most-susceptible-users">
    Зведення кліків, облікових даних і повідомлень для кожної особи за 12 місяців.
  </Card>

  <Card title="Ключі API" href="/uk/developers/developer-hub/api-keys">
    Надайте `training:read` і `course:read` для ключа, який оновлює цей звіт.
  </Card>
</CardGroup>


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