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

# Создание сертификата

> Настройка выдачи сертификата для курса: шаблон, срок действия, подпись и печать.

Сертификат настраивается на уровне курса — в разделе управления курсом «Сертификаты» (страница `ManageCourseCertificatesPage`). Настройка выполняется один раз: после включения выдачи каждый ученик, полностью прошедший курс, получит сертификат автоматически.

<Note>
  Форма настройки уже присутствует в интерфейсе, но список шаблонов пока заполняется временными данными, а сохранение (мутация обновления настроек курса) будет подключено после публикации серверной схемы. Значения формы описаны по полям хранилища настроек.
</Note>

## Где находится настройка

Откройте управление нужным курсом и перейдите в раздел «Сертификаты». Заголовок страницы — «Сертификат по завершении».

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/gamification/certificate-settings.png" alt="Раздел настройки сертификата в управлении курсом" />

## Шаги настройки

<Steps>
  <Step title="Включите выдачу сертификата">
    Переключатель «Выдавать по завершении курса» активирует функцию. Пока он выключен, остальные поля формы недоступны, и сертификаты не выдаются.
  </Step>

  <Step title="Выберите шаблон оформления">
    В поле «Шаблон сертификата» выберите один из системных дизайнов. На старте доступны 5 оформлений exode:

    | Шаблон               | Описание                         |
    | -------------------- | -------------------------------- |
    | Светлый (дашборд)    | Светлый горизонтальный дизайн    |
    | Тёмный (премиум)     | Тёмный горизонтальный дизайн     |
    | Минимализм           | Лаконичное оформление            |
    | Вертикальный светлый | Вертикальная ориентация, светлый |
    | Вертикальный тёмный  | Вертикальная ориентация, тёмный  |

    Архитектура заложена так, что в будущем школа сможет загружать собственные шаблоны.
  </Step>

  <Step title="Задайте срок действия (необязательно)">
    Поле «Срок действия (в месяцах)» определяет, сколько месяцев сертификат считается действительным. Если оставить поле пустым — сертификат бессрочный. Значение влияет только на новые выдачи.
  </Step>

  <Step title="Настройте фирменный цвет (необязательно)">
    Поле «Фирменный цвет» задаёт акцентный цвет оформления (HEX). Подробнее — в разделе [Редактирование сертификата](/online-schools/gamification/editing-certificates).
  </Step>

  <Step title="Загрузите подпись и печать (необязательно)">
    Поля «Изображение подписи» и «Изображение печати» позволяют загрузить картинки, которые появятся на сертификате. Файлы загружаются в хранилище курса (`StorageSpace.Course`), поддерживаются изображения.
  </Step>

  <Step title="Сохраните настройки">
    Нажмите «Сохранить». Настройки применятся ко всем будущим выдачам данного курса.
  </Step>
</Steps>

## Поля настройки

Настройки хранятся как под-объект `certificate` в настройках курса. Доступные поля:

| Поле                | Тип           | Назначение                                 |
| ------------------- | ------------- | ------------------------------------------ |
| `enabled`           | boolean       | Тумблер «выдавать при завершении»          |
| `templateId`        | int / null    | Выбранный шаблон оформления                |
| `expireInMonths`    | int / null    | Срок действия в месяцах; пусто = бессрочно |
| `brandColor`        | string / null | Фирменный цвет (HEX)                       |
| `signatureImageUrl` | string / null | Ссылка на изображение подписи              |
| `stampImageUrl`     | string / null | Ссылка на изображение печати               |

## Условие выдачи

Единственное условие выдачи — **полное завершение курса**. На стороне backend это событие `CourseCompleted`: платформа отслеживает прохождение курса учеником и, если у курса включена выдача (`enabled === true`), создаёт запись сертификата.

<Note>
  Выдача идемпотентна по паре «ученик + курс»: если сертификат уже был выдан, повторно он не создаётся. Настройки на момент выдачи «замораживаются» в снимке данных сертификата — последующие изменения формы на уже выданные документы не влияют.
</Note>
