Обзор

Adobe Captivate Prime — облачное решение для управления обучением с функцией самообслуживания, ориентированное на учащихся. Клиенты могут получать доступ к ресурсам Captivate Prime с использованием Captivate Prime API и интегрировать Captivate Prime с другими приложениями. Также API может использоваться партнерами Adobe для добавления новых полезных элементов в систему Captivate Prime, расширения ее функций и интеграции с другими приложениями и службами.

Сценарий использования

Используя Captivate Prime API, разработчики могут разрабатывать отдельные приложения для расширения функций Captivate Prime и даже интеграции Captivate Prime с другими приложениями предприятия. Вы можете разработать веб-приложение, клиент для ПК или мобильное приложение с использованием любой доступной технологии. Разработчики имеют доступ к данным приложения из Captivate Prime.Внедрение разработанного приложения происходит за пределами платформы Captivate Prime. Вам предоставляется полный контроль над жизненным циклом разработки и развития приложения. Обычно приложения разрабатываются в компаниях клиентов для использования в учетных записях Captivate Prime. Такие приложения находятся в закрытом доступе только для сотрудников организации. Партнеры Adobe могут разрабатывать с использованием Captivate Prime API общие приложения, доступные широкому кругу пользователей Captivate Prime.

Captivate Prime API

Captivate Prime API основывается на принципах REST и предоставляет разработчикам приложений ключевые элементы объектной модели Captivate Prime с помощью HTTP. Перед изучением подробных сведений о конечных точках API или методов HTTP разработчики могут ознакомиться с различными объектами Captivate Prime, их атрибутами и отношениями. После ознакомления с моделями имеет смысл получить базовое представление о структуре API-запросов и ответов, а также нескольких общих терминах программирования, которые используются в API.

Подробные сведения о конечных точках и методах API приведены в документации по Captivate Prime API.

Аутентификация API

При написании приложения, осуществляющего API-вызовы в Prime, вам необходимо зарегистрировать его в приложении администратора интеграции. 

Captivate Prime API используют фреймворк OAuth 2.0 для аутентификации и авторизации клиентских приложений. 

Порядок регистрации

1. Настройте приложение

Вы можете настроить для приложения ID и секрет клиента с тем, чтобы оно использовало нужные конечные точки.Вы можете получить ID и секрет клиента после регистрации приложения. В браузере необходимо использовать URL Get, поскольку он позволяет выполнить аутентификацию пользователей Captivate Prime с использованием предварительно настроенных учетных записей — SSO, Adobe ID и т.д. 

GET https://captivateprime.adobe.com/oauth/o/authorize?client_id=<Введите clientId>&redirect_uri=<Введите url для переадресации>&state=<Любая строка>&scope=<одно или несколько значений, разделенных запятыми>&response_type=CODE.

После успешной аутентификации браузер перенаправит вас на URL для переадресации, указанный в URL выше. К URL для переадресации будет прикреплен код параметра.

2. Получите маркер обновления из кода

POST https://captivateprime.adobe.com/oauth/token Content-Type: application/x-www-form-urlencoded

Тело запроса POST:

client_id:<Enter your clientId>&
client_secret:<Enter your clientSecret>&
code:<code from step 1>

3.Получите маркер доступа из маркера обновления

URL для получения маркера доступа: 

POST https://captivateprime.adobe.com/oauth/token/refresh Content-Type: application/x-www-form-urlencoded

Тело запроса POST:

client_id:<Enter your clientId>&
client_secret:<Enter your clientSecret>&
refresh_token:<refresh token>

URL для проверки сведений маркера доступа

GET https://captivateprime.adobe.com/oauth/token/check?access_token=<access_token>

Ограничения использования

Маркер доступа действителен в течение семи дней. После этого необходимо создать новый маркер доступа с использованием маркера обновления. При попытке создания нового маркера доступа из маркера обновления в течение срока действия прежнего маркера будет возвращен существующий действительный маркер. 

Ниже объясняются некоторые часто используемые в контексте Captivate Prime API термины. 

Includes

Пользователи могут получать доступ к одной модели объекта API или нескольким моделям, связанным с этой моделью. Для доступа к связанным моделям необходимо изучить взаимодействие каждой модели с моделями, связанными с ней. Параметр Includes позволяет разработчикам осуществлять доступ к зависимым моделям. Для доступа к нескольким моделям используйте в качестве разделителя запятую. Примеры использования параметра includes и подробные сведения о ней приведены в разделе «Пример модели API» на этой странице. 

API-запрос

API-запросы выполняются с помощью отправки HTTP-запросов. В зависимости от конечной точки и метода разработчик может выбрать различные команды HTTP, такие как GET, PUT, POST, DELETE, PATCH, и т.д. Для некоторых запросов можно передавать параметры запросов. При осуществлении запроса определенной модели данных также можно запросить связанные модели так, как это описано в спецификациях JSON API. Структура типового API-запроса описана в примере использования модели.

Ответ API

При отправке API-запросов клиентом возвращается документ SON в соответствии со спецификацией JSON API. Ответ также содержит HTTP-код состояния, который разработчик может проверить для выполнения последующих шагов в логике приложения.Структура типового ответа API описана в примере использования модели.

Ошибки

Если API-запрос не удается отправить, возвращается ответ с ошибкой. Код состояния HTTP, возвращаемый с ответом, объясняет вид ошибки. Номера всех кодов ошибок для каждой модели объяснены в справочнике API. Некоторые из самых распространенных ошибок, представленных в API — это 200, 204, 400 и 404, относящиеся к проблемам с HTTP-адресом.  

Fields

Атрибуты объектов API и связи между ними вместе называются полями (Fields). Подробная информация об этом приведена в JSON API. Можно использовать Fields в качестве параметра при осуществлении API-вызовов для получения из модели одного или нескольких атрибутов. В отсутствие параметра Fields API-вызов собирает из модели все доступные атрибуты. Например, в следующем вызове API fields[skill]=name возвращает из модели skill только атрибут name. 

https://captivateprime.adobe.com/primeapi/v1/users/{userId}/userSkills/{id}?include=skillLevel.skill&fields[skill]=name 

Постраничный вывод

Иногда API-запрос возвращает длинный список объектов. В таких случаях атрибут постраничного вывода позволяет разработчику последовательно выводить результаты на нескольких страницах, при этом каждая страница содержит диапазон записей. Например, атрибут постраничного вывода в Captivate Prime позволяет устанавливать максимальное число записей для отображения на странице. Также вы можете определить диапазон записей, отображаемый на странице. 

Сортировка

В API-моделях разрешена сортировка. В зависимости от модели выберите тип сортировки, который необходимо применить к результатам. Элементы могут быть отсортированы по возрастанию или по убыванию. Например, при указании sort=name элементы будут отсортированы по имени в порядке возрастания. При указании sort=-name элементы будут отсортированы по имени в порядке убывания. Подробная информация об этом приведена в спецификации JSON API.

Пример использования API

Рассмотрим сценарий, в котором разработчику необходимо получить уровень навыка, максимальное количество очков для уровня навыка и очки, полученные учащимся для этого навыка.

Модель userSkill в Captivate Prime API состоит из атрибутов по умолчанию id, type, dateAchieved, dateCreated и pointsEarned. При использовании разработчиком метода GET для получения сведений о модели userSkill текущие данные, относящиеся к атрибутам по умолчанию, будут отображены в ответе. 

Тем не менее, в этом сценарии разработчику нужно получить название навыка, а также очки, которые получил пользователь в отношении этого навыка. Captivate Prime API позволяет осуществлять доступ к этой информации с использованием полей отношений и параметра Include. Связанные с userSkill модели будут получены в теге relationships (отношения). Сведения о каждой из связанных моделей можно получить, вызвав эти модели вместе с userSkill. Для этого используйте параметр include со значениями, разделенными запятыми, для каждой из связанных моделей. Для запроса другой модели (например, user) используйте в качестве разделителя запятую: include=skillLevel.skill,course

Вызов API

https://captivateprime.adobe.com/primeapi/v1/users/{userId}/userSkills/{id}?include=skillLevel.skill&fields[skill]=name&fields[skillLevel]=maxCredits&fields[userSkill]=pointsEarned

Например, параметр userId имеет значение 746783, а userSkills — 746783_4426_1. 

Ответ на вызов API

{
   "links": {"self": "https://captivateprime.adobe.com/primeapi/v1/users/746783/userSkills/746783_4426_1?include=skillLevel.skill&fields[userSkill]=pointsEarned&fields[skillLevel]=maxCredits&fields[skill]=name"},
   "data":    {
      "id": "746783_4426_1",
      "type": "userSkill",
      "attributes": {"pointsEarned": 5},
      "links": {"self": "https://captivateprime.adobe.com/primeapi/v1/users/746783/userSkills/746783_4426_1"}
   },
   "included":    [
            {
         "id": "4426",
         "type": "skill",
         "attributes": {"name": "Java"},
         "links": {"self": "https://captivateprime.adobe.com/primeapi/v1/skills/4426"}
      },
            {
         "id": "4426_1",
         "type": "skillLevel",
         "attributes": {"maxCredits": 10}
      }
   ]
}

Модели Captivate Prime

Captivate Prime API позволяет разработчикам осуществлять доступ к объектам Captivate Prime как к ресурсам RESTful. Каждая конечная точка API представляет ресурс — обычно экземпляр объекта, например, Badge — или коллекцию таких объектов. Затем разработчики используют HTTP-команды — такие как PUT, GET, POST и DELETE — для выполнения операций CRUD с этими объектами (коллекциями).

V1 API

На схеме ниже представлены различные элементы модели объекта Captivate Prime в V1 API.

Модель объекта V1 API
Модель объекта V1 API

Приведенная ниже таблица описывает различные элементы модели объекта V1 API Captivate Prime.

Номер п/п

Объект Captivate Prime

Описание

1.      

user (пользователь)

User — это ключевая модель Captivate Prime. Пользователями обычно являются внутренние или внешние учащиеся в организации, которые используют объекты обучения. Однако вместе с ролью учащегося они могут иметь и другие роли — например, автора или менеджера. Некоторые из встроенных атрибутов — user id, type, email. 

2.      

course (курс)

Курс — это один из объектов обучения, поддерживаемых в Captivate Prime. Он состоит из одного или нескольких блоков. 

3.      

module (блок)

Блок — это основа для создания объектов обучения в Captivate Prime. Блоки могут иметь один из четырех различных типов — класс, виртуальный класс, практическое занятие или блок со свободным графиком. Используйте модель блока для получения сведений обо всех блоках в учетной записи. 

4.      

certification (аттестация)

Аттестация присваивается учащимся, успешно завершившим курсы. Перед тем, как начать использовать сертификаты, необходимо добавить в приложение курсы. 

5.      

learning program (программа обучения)

Программы обучения — это специально разработанные курсы, отвечающие конкретным требованиям пользователей в отношении обучения. Обычно программы обучения используются для достижения определенных целей обучения, с которыми связаны отдельные курсы. 

6.      

badge (значок)

Значок присваивается учащемуся за достижение определенных показателей в процессе прохождения курса. 

7.      

skill (навык)

Модель навыка состоит из уровней и баллов. Навык может быть получен учащимся после прохождения соответствующего курса. 

8.      

certificationEnrollment (регистрация на аттестацию)

Модель содержит сведения о регистрации пользователя на отдельную аттестацию.

9.  

courseEnrollment (регистрация на курс)

Модель содержит сведения о регистрации пользователя на отдельный курс. 

10.  

courseInstance (вариант курса)

Курс может иметь один или несколько вариантов, связанных с ним. Вы можете получить вариант курса

11.  

courseSkill (навык курса)

Модель courseSkill определяет прогресс по отдельному навыку, получаемому при прохождении курса.

12.  

courseModule (блок курса)

Модель courseModule определяет, как блок включается  в курс —например, будет блок использоваться для предварительного тестирования или для предоставления содержимого.

13.  

learningProgramInstance (вариант программы обучения)

Программа обучения может состоять из нескольких вариантов. Их свойства могут как быть одинаковыми, так и отличаться друг от друга. 

14.  

job aid (вспомогательный материал)

Вспомогательные материалы — это содержимое обучения, доступное учащимся без каких-либо критериев регистрации или завершения. Вы можете получать информацию о дате обновления, состоянии и id вместе со связанными моделями — такими как версия, авторы и уровень навыка. 

15.  

jobAidVersion (версия вспомогательного материала)

Вспомогательный материал может иметь одну или несколько версий, нумерация которых основана на количестве редакций содержимого и количестве загрузок. Модель содержит сведения о версии отдельного вспомогательного материала. 

16.  

learningProgramInstanceEnrollment (регистрация на вариант программы обучения)

Программа обучения состоит из одного или нескольких вариантов. Учащиеся могут регистрироваться на вариант программы обучения самостоятельно или быть назначенными администратором. Модель содержит сведения о регистрации пользователя на отдельный вариант программы обучения. 

17.  

moduleVersion (версия блока)

Блок может иметь одну или несколько версий. Количество версий зависит от количества загрузок содержимого. Используйте эту модель для получения конкретной информации об определенной версии блока. 

18.  

skillLevel (уровень навыка)

Уровень навыка состоит из одного или нескольких курсов, пройденных для получения уровня вместе со связанными с ним баллами. 

19.  

userBadge (значок пользователя)

UserBadge — это отдельный значок для отдельного пользователя. Модель содержит такие данные, как дата получения, URL утверждения и т.д. 

20.  

userSkill (навык пользователя)

UserSkill показывает, насколько отдельный навык получен отдельным пользователем.

V2 API

Ниже представлены различные элементы схемы классов в V2 API.

Схема классов V2 API
Схема классов V2 API
Объект Captivate Prime Описание
account (учетная запись) Содержит сведения о пользователе Prime.
badge (значок) Значок присваивается учащемуся за достижение определенных показателей в процессе прохождения курса.
catalog (папка) Папка — это совокупность объектов обучения.
user (пользователь) User — это ключевая модель Captivate Prime. Пользователями обычно являются внутренние или внешние учащиеся в организации, которые используют объекты обучения. Однако вместе с ролью учащегося они могут иметь и другие роли — например, автора или менеджера. Некоторые из встроенных атрибутов — user id, type, email. 
resource (ресурс) Используется для моделирования каждого ресурса содержимого, который должен войти в блок. Все ресурсы, которые входятв loResource,одинаковы в отношении цели обучения, но они отличаются друг от друга в отношении типа подачи или местоположения содержимого.
userNotification (уведомления пользователя) Данная модель содержит информацию об уведомлениях, относящихся к учащемуся.
userSkill (навык пользователя) UserSkill показывает, насколько отдельный навык получен отдельным пользователем.
userBadge (значок пользователя) Модель UserBadge связывает отдельный значоксотдельным пользователем. Она содержит такие данные, как дата получения,URL утвержденияи т.д.
skill (навык) Модель навыка состоит из уровней и баллов. Навык может быть получен учащимся после прохождения соответствующего курса.
skillLevel (уровень навыка) Уровень навыка состоит из одного или нескольких курсов, пройденных для получения уровня вместе со связанными с ним баллами.
learningObject (Объект обучения) Объект обучения — это общий термин для различных объектов, на которые пользователи могут регистрироваться и которые они могут использовать для обучения. На данный момент в Prime есть четыре типа объектов обучения — курс, аттестация, программа обученияивспомогательный материал.
learningObjectInstance (вариант объекта обучения)
Определенный вариант объекта обучения.
learningObjectResource (ресурс объекта обучения) То же, чтоmodule (блок). Курс состоит из одногоилинескольких блоков. В Prime блок можно получить множеством равноценных способов. Соответственно,loResourceсодержит все такие равноценные ресурсы.
loResourceGrade
Содержит выходные данные использования определенного ресурса обучения пользователем в контексте объекта обучения, на который пользователь зарегистрировался. В этом объекте присутствует такая информация, как время, затраченноепользователемна ресурс, ход выполнения в процентах, статус прохождения/непрохождения и баллы, полученные пользователем в любом связанном тесте.
calendar (календарь)
Объект calendar — это списокпредстоящих курсов в физическихили виртуальных классах, на которые может зарегистрироваться пользователь.
l1FeedbackInfo
L1 Feedback (Обратная связь уровня L1) — это совокупность ответов, данных пользователем на вопросы обратной связи, относящиеся к объектам обучения. Обычно пользователь отвечает на вопросы после того, как завершает объект обучения, для которого настроен сбор обратной связи от учащихся.
enrollment (регистрация)
Общий термин для сведений, относящихся к транзакциям, представляющим назначение конкретного пользователя конкретному варианту объекту обучения.

Процесс разработки приложения

Предварительные условия

Разработчики могут создавать пробную учетную запись Prime, с помощью которой они могут получить полный доступ к любым ролям. Для разработки приложения необходимо создать нескольких пользователей и несколько курсов, приведя учетную запись в рабочее состояние. Тогда приложение сможет получить доступ к данным, необходимым для его работы.

Создание id и секрета клиента

  1. В левой части панели администратора интеграции нажмите Applications (Приложения).

    application-development-menu
  2. Нажмите Register (Зарегистрировать) в правом верхнем углу страницы, чтобы зарегистрировать информацию о приложении. Появится страница регистрации.

    Регистрация нового приложения
    Регистрация нового приложения

    Все поля на странице обязательны к заполнению. 

    Application Name: название приложения. Использовать то же название приложения необязательно. Это может быть любое допустимое название.

    URL: если вы знаете точный URL-адрес, по которому находится ваше приложение, то можете указать его. В противном случае вы можете указать URL-адрес компании. URL-адрес должен иметь допустимый формат.

    Redirect Domains: доменное имя для приложения, по которому должно направляться приложение Captivate Prime после аутентификации OAuth. Можно указать несколько URL-адресов, но все они должны иметь допустимый формат — например, http://google.com, http://yahoo.com и т.д. 

    Description: краткое описание приложения. 

    Scopes: выберите область применения вашего приложения. В зависимости от выбранной области Captivate Prime предоставит доступ к конечной точке API. Например, при выборе варианта Learner role read access (Роль учащегося, доступ для чтения), то приложению будут доступны конечные точки API учащегося Captivate Prime в режиме только для чтения. 

     For this account only? (Только для этой учетной записи?) 
    Yes (Да) — приложение не будет видно администраторам других учетных записей.
    No (Нет) — другие администраторы также смогут получить доступ к приложению, но для его использования им необходим id приложения. Id приложения создается и отображается в режиме редактирования (Edit mode) приложения Captivate Prime. 

    Примечание.

    При выборе Admin role read and write access (Роль администратора, доступ для чтения и записи) при регистрации приложения и выборе Admin role read access (Роль администратора, доступ для чтения) при авторизации API вы будете иметь доступ для чтения и записи, поскольку область регистрации приложения имеет приоритет над рабочим процессом авторизации.

  3. После заполнения всех полей на странице регистрации нажмите Register (Зарегистрировать) в правом верхнем углу страницы.

Разработка и тестирование приложения

Разработчики могут использовать Captivate Prime API для создания любых приложений. Необходимо, чтобы в учетной записи разработчика содержались действительные пользователи и курсы. Для тестирования функций приложений можно создать несколько пользователей и курсов.

Внедрение приложения

Возложить задачу по предоставлению приложения пользователям внутри организации рекомендуется на администратора Captivate Prime или администратору интеграции, предоставив им учетные данные для производственной учетной записи. После тестирования приложения и после того, как ответственные лица сочтут его готовым к производству, необходимо проинформировать администратора производственной учетной записи. Самый эффективный способ: администратор создает id и секрет клиента для приложения в производственной учетной записи, а затем выполняет необходимые шаги для их безопасной интеграции в приложение. Процедура внедрения приложения на различных предприятиях сильно отличается. Для эффективного внедрения IT/IS-отдел организации должен оказывать необходимую поддержку администратору Captivate Prime.

Утверждение внешних приложений

Добавить внешние приложения можно, нажав кнопку Approve (Утвердить) в правом верхнем углу страницы Applications (Приложения). Введите id внешнего приложения и нажмите Save (Сохранить).

Добавление внешнего приложения
Добавление внешнего приложения

Эта работа лицензируется в соответствии с лицензией Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported  На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.

Правовые уведомления   |   Политика конфиденциальности в сети Интернет