Инструкция по интеграции с Каталогом на платформе Университета 20.35

​Интеграция с Enroll (Каталогом курсов)

Этапы интеграции с Каталогом с точки зрения ОО​ выглядят так:

  • запросить доступ к API Enroll на тестовом контуре;
  • дождаться ответа и получить токен;
  • реализовать логику обращения к API Каталога;
  • протестировать взаимодействие с API Каталога;
  • запросить доступ на продуктовый контур.

Все эти этапы подробнее описаны ниже, все действия проводятся на тестовом контуре.

Для получения консультации по интеграции в рамках тестового контура необходимо с корпоративного адреса электронной почты ответить на ранее направленное письмо на apps@2035.university с сутью вопроса, приложив по возможности скриншоты/скринкасты до и после описываемого события, url и параметры запросов.

Запрос доступа к API Enroll на тестовом контуре

На данном этапе необходимо с корпоративного адреса электронной почты отправить письмо на apps@2035.university следующего содержания:

  1. Тема письма “Подключение к API Enroll Платформы Университета 2035, Цифровые профессии. Тестовый контур".
  2. Текст письма:
    1. Наименование организации (полное наименование организации);
    2. Email Администратора (почта должна совпадать с почтой в аккаунте LeaderID и этот пользователь должен хотя бы один раз авторизоваться на cat.u2035test.ru), под этим аккаунтом ;
    3. Ссылка на тестовый курс на платформе ОО.
    4. Ответственное за интеграцию лицо:
      1.  ФИО;
      2. Телефон;
      3. Адрес электронной почты.

В течение 3 дней вы получите в ответ письмо о выдаче доступов, в нем будет:

Получение токена на тестовом контуре

После получения ответа, что доступы выданы, нужно под логином Администратора запросить токен на сайте https://dev.u2035test.ru. Токен выдается сразу.

Теперь можно делать запросы API Университета 2035 для управление записью пользователя.

Эндпойнты

Для тестового контура https://api.u2035test.ru/cat-enroll/.

Для продакшена https://api.2035.university/cat-enroll/.

Методы API Enroll
Получение информации о заявке на курс проекта ЦП 2021

GET /api/v3/course/enroll/

Пример запроса:

GET /api/v3/course/enroll/?platform_id=<platform_id>&unti_id=<unti_id>&course_id=<course_id></course_id></unti_id></platform_id>

-H"Authorization: Token <enroll_token>"</enroll_token>

Параметры get запроса:

  • unti_id - идентификатор пользователя unti_id, полученный от SSO;
  • course_id - идентификатор курса;
  • platform_id - идентификатор организации.

Запрос должен содержать хедер "Authorization: Token <enroll_token> с токеном администратора платформы.</enroll_token>

Ответ:

  • 200
    {
    "application_status": "approved", // статус заявки
    "transfert_status": "activated", // статус трансферта
    "flow_status": "" // статус потока
    }
  • 400 не хватает параметров в запросе;
  • 401 пользователь (инициатор запроса) не авторизован;
  • 403 пользователь (инициатор запроса) не имеет доступа для заданной организации (платформы обучения);
  • 404 пользователь/курс/заявка не существует.
Создание заявки на курс проекта ЦП 2021

POST /api/v3/course/enroll/

Пример запроса:

POST /api/v3/course/enroll/{
    "platform_id": <platform_id>,
    "unti_id": <unti_id>
    "course_id": <course_id>
}</course_id></unti_id></platform_id>

-H"Authorization: Token <enroll_token>"</enroll_token>

Параметры post запроса:

  • unti_id - идентификатор пользователя unti_id, полученный от SSO;
  • course_id - идентификатор курса;
  • platform_id - идентификатор организации.

Запрос должен содержать хедер "Authorization: Token ***" с токеном администратора платформы.

Ответ:

  • 200 {"success": true}
  • 400 не хватает параметров в запросе;
  • 401 пользователь (инициатор запроса) не авторизован;
  • 403 пользователь (инициатор запроса) не имеет доступа для заданной организации (платформы обучения);
  • 404 пользователь/курс/заявка не существует.
Проставление пользователю статуса окончившего курс на проекте ЦП 2021

POST /api/v2/course/set-finished/

Параметры запроса:

  • <unti_id> - идентификатор пользователя unti_id, полученный от SSO, обязательный параметр;</unti_id>
  • <course_id> - идентификатор курса, обязательный параметр;</course_id>
  • <platform_id> - идентификатор организации, обязательный параметр;</platform_id>
  • education_end_date - дата окончания обучения в формате "%Y-%m-%d", обязательный параметр;
  • qualification_doc_number - номер бланка документа о квалификации, строка, обязательный параметр;
  • qualification_doc_registration_number - регистрационный номер документа о квалификации, строка, обязательный параметр;
  • frdo_number - номер ФРДО, строка, обязательный параметр;
  • quailfication_doc_date - дата выдачи документа о квалификации в формате "%Y-%m-%d", обязательный параметр;
  • expulsion_order_date - дата приказа об отчислении в формате "%Y-%m-%d", обязательный параметр;
  • expulsion_order_number - номер приказа об отчислении, строка, обязательный параметр.

Запрос должен содержать хедер "Authorization: Token ***" с токеном администратора платформы.

Ответ:

  • 201, если запись успешно обновлена;
  • 400 не хватает параметров в запросе;
  • 401 пользователь (инициатор запроса) не авторизован;
  • 403 пользователь (инициатор запроса) не имеет доступа для заданной организации (платформы обучения);
  • 404 пользователь/курс/заявка не существует;
  • 412 пользователь не записан на курс или отметка об окончании курса уже проставлена;
  • 417 не удалось проставить статус.
Изменение статуса заявки на курс на проекте ЦП 2021

PUT /api/v3/course/enroll/

Пример запроса:

PUT /api/v3/course/enroll/{
    "platform_id": "platform",
    "unti_id": 1
    "course_id": 1,
    "status": "declined"
}

-H"Authorization: Token <enroll_token>"</enroll_token>

Для разных статусов надо передавать разный набор параметров.

Общие параметры put запроса:

  • platform_id - индентификатор платформы, обязательный параметр
  • unti_id - unti_id пользователя, обязательный параметр
  • course_id - id курса, обязательный параметр
  • status - str, обязательный параметр, возможные значения: approved (одобрена), declined (отклонена),
               expelled (отчислен), accepted (зачислен).

Параметры для статуса approved:

  • flow - id потока, обязательный параметр
  • enter_exam_date - дата в формате "%Y-%m-%d", обязательный параметр

Параметры для статуса expelled:

  • reason_choice - str, код причины отчисления, обязательный параметр, возможные варианты:
                      legitimate (Отчислен по уважительной причине),
                      not_legitimate (Отчислен по неуважительной причине)
  • reason_file - файл с подтверждением причины отчисления
  • reason_file_ds - файл с ЭЦП

Параметры для статуса accepted:

  • accept_date - дата в формате "%Y-%m-%d", дата зачисления слушателя, обязательный параметр
  • admission_order_date - дата в формате "%Y-%m-%d", дата приказа о зачислении, обязательный параметр
  • admission_order_number - str, номер приказа о зачислении, обязательный параметр
  • employer_pays - true/false, за слушателя платит работодатель, если не передано, считается false
  • employer_price - decimal c точностью до сотых, сумма оплаты Работодателем,
                       обязательно если employer_pays == true
  • employer_ogrn - строка, содержащая только цифры, ОГРН/ОГРНИП Работодателя,
                      обязательно если employer_pays == true
  • employer_name - строка, Наименование работодателя,
                      обязательно если employer_pays == true

Запрос должен содержать хедер "Authorization: Token ***" с токеном администратора платформы.

Ответ:

  • 200 {"success": true};
  • 400 не хватает параметров в запросе;
  • 401 пользователь (инициатор запроса) не авторизован;
  • 403 пользователь (инициатор запроса) не имеет доступа для заданной организации (платформы обучения);
  • 404 пользователь/курс/заявка не существует.

Для получения консультации по интеграции в рамках тестового контура необходимо с корпоративного адреса электронной почты ответить на ранее направленное письмо на apps@2035.university с сутью вопроса, приложив по возможности скриншоты/скринкасты до и после описываемого события, url и параметры запросов.

Запрос доступа к API Enroll на продакшен контуре

На данном этапе необходимо с корпоративного адреса электронной почты отправить письмо на apps@2035.university следующего содержания:

  1. Тема письма “Подключение к API Enroll Платформы Университета 2035, Цифровые профессии. Продуктовый контур".
  2. Текст письма:
    1. Наименование организации (полное наименование организации);
    2. Проект: Цифровые профессии;
    3. Контур: прод;
    4. Наименование курса, id курса, ссылка на курс на платформе ОО - для всех курсов;
    5. Email желаемого Администратора Платформы;
    6. Ответственное за интеграцию лицо:
      1.  ФИО;
      2. Телефон;
      3. Адрес электронной почты.

В течение 3 дней вы получите в ответ письмо о выдаче доступов, с platform_id и токеном.

Была ли статья полезна?

Да Нет