Présentation

Adobe Captivate Prime est une solution de gestion d’apprentissage en libre service dédiée aux élèves et hébergée sur le cloud. Les clients peuvent accéder aux ressources de Captivate Prime par programmation à l’aide de l’API Captivate pour les intégrer à d’autres applications d’entreprise. L’API peut également être utilisée par les partenaires Adobe pour renforcer la proposition de valeur de Captivate Prime en étendant ses fonctionnalités ou en les intégrant à d’autres applications ou services.

Scénario d’utilisation

En utilisant l’API Captivate Prime, les développeurs peuvent créer des applications autonomes qui étendent la fonctionnalité Captivate Prime ou intègrent Captivate Prime à d’autres flux de travail d’applications d’entreprise. Vous pouvez développer une application Web, un client de bureau ou une application mobile en utilisant la technologie de votre choix. En tant que développeur, vous pouvez accéder aux données de votre application depuis Captivate Prime.Le déploiement de l’application que vous développez est externe à la plate-forme Captivate Prime et vous avez un contrôle total sur le cycle de vie du développement logiciel au fur et à mesure de l’évolution de l’application. Les applications sont généralement développées par une organisation de client pour être utilisées avec leur compte Captivate Prime, et ces applications sont privées pour cette organisation client spécifique. En outre, les partenaires Adobe peuvent créer des applications génériques avec l’API Captivate Prime, qui peut être utilisée par un grand nombre de clients Captivate Prime.

API Captivate Prime

L’API Captivate Prime est basée sur des principes REST et expose les éléments clés du modèle d’objet Captivate Prime aux développeurs d’applications via HTTP. Avant de connaître les détails des points de terminaison API et des méthodes HTTP, les développeurs peuvent se familiariser avec les différents objets Captivate Prime, leurs attributs et leurs relations. Une fois les modèles bien compris, il est utile de bien cerner la structure des demandes et des réponses d’API et de bien comprendre quelques termes courants de programmation que nous utilisons de manière générique dans l’ensemble de l’API.

Pour plus d’informations sur les points de terminaison API et les méthodes, reportez-vous à la documentation sur l’API Captivate Prime.

Authentification API

Lorsque vous écrivez une application qui effectue des appels d’API à Prime, vous devez enregistrer votre application à l’aide de l’application Administrateur d’intégration. 

Les API Captivate Prime utilisent l’infrastructure OAuth 2.0 pour authentifier et autoriser vos applications client. 

Procédure

1. Configurez votre application 

Vous pouvez configurer votre application avec l’ID client et le secret client pour utiliser les points de terminaison appropriés. Une fois votre application enregistrée, vous pouvez obtenir le clientId et le clientSecret. Get URL doit être utilisé dans le navigateur car il authentifie les utilisateurs de Captivate Prime à l’aide de leurs comptes préconfigurés tels que SSO, Adobe ID, etc. 

GET https://captivateprime.adobe.com/oauth/o/authorize?client_id= <Enter your clientId> & redirect_uri = <Saisissez une URL de redirection>& état = <toutes données de chaîne> & scope = <une ou plusieurs portées séparées par des virgules> & response_type = CODE.

Une fois l’authentification réussie, votre navigateur se redirige vers l’URI de redirection de l’URL ci-dessus. Un code de paramètre est ajouté avec l’URI de redirection.

2. Obtenir le jeton d’actualisation à partir du code

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

Corps de la demande de publication :

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

3.Obtenir un jeton d’accès à partir du jeton d’actualisation

URL pour obtenir le jeton d’accès : 

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

Corps de la demande de publication :

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

URL de vérification des détails du jeton d’accès

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

Limitation d’utilisation

Un jeton d’accès est valide pendant sept jours. Après une journée, vous devez générer un nouveau jeton d’accès à l’aide du jeton d’actualisation. Si vous générez un nouveau jeton d’accès à partir du jeton d’actualisation alors qu’un jeton d’accès existant est toujours valide, le jeton existant est renvoyé. 

Certains termes fréquemment utilisés dans l’API Captivate Prime sont expliqués ci-dessous pour référence. 

Inclut

Les développeurs peuvent accéder à un seul modèle d’objet API et à plusieurs modèles associés à ce modèle. Pour accéder aux modèles connexes suivants, vous devez comprendre la relation de chaque modèle avec d’autres modèles. Le paramètre Includes permet aux développeurs d’accéder aux modèles dépendants. Vous pouvez utiliser un séparateur de virgules pour accéder à plusieurs modèles. Pour des exemples et plus d’informations sur includes, reportez-vous à la section relative au modèle d’API de cette page. 

Demande d’API

Les demandes d’API peuvent être faites à l’aide d’une requête HTTP. Selon le point de terminaison et le développeur de méthodes, vous avez le choix entre divers verbes HTTP, tels que GET, PUT, POST, DELETE, PATCH, etc. Pour certaines requêtes, les paramètres de requête peuvent être transmis. Lors de la création d’une requête pour un modèle de données spécifique, l’utilisateur peut également demander des modèles associés, comme décrit dans les spécifications de l’API JSON. La structure d’une demande d’API typique est décrite dans l’exemple d’utilisation du modèle.

Réponse de l’API

Lorsqu’une demande d’API est faite par un client, un document SON est obtenu conformément à la spécification de l’API JSON. La réponse contient également le code d’état HTTP, que le développeur peut vérifier pour effectuer les prochaines étapes appropriées dans sa logique d’application. La structure d’une réponse d’API typique est décrite dans l’exemple d’utilisation du modèle.

Erreurs

Lorsqu’une demande d’API échoue, une réponse Erreur est obtenue. Le code d’état HTTP renvoyé dans la réponse indique la nature de l’erreur. Les codes d’erreur sont représentés avec des numéros pour chaque modèle dans la référence API. 200, 204, 400 et 404 font partie des erreurs courantes représentées dans les API indiquant les problèmes d’accès HTTP.  

Champs

Les attributs de l’objet API et ses relations sont appelés collectivement Champs. Reportez-vous à l’API JSON pour plus d’informations. Vous pouvez utiliser Champs en tant que paramètre lors de la création d’appels d’API pour extraire un ou plusieurs attributs spécifiques du modèle. En l’absence du paramètre Champs, l’appel API extrait tous les attributs disponibles du modèle. Par exemple, dans l’appel d’API suivant, fields [skill] = name récupère l’attribut name du modèle de compétence uniquement. 

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

Pagination

Parfois, une requête API entraîne une longue liste d’objets à retourner dans la réponse. Dans de tels cas, l’attribut de pagination permet au développeur d’extraire les résultats séquentiellement en termes de pages multiples, chaque page contenant une série d’enregistrements. Par exemple, l’attribut de pagination dans Captivate Prime vous permet de définir le nombre maximal d’enregistrements à afficher dans une page. En outre, vous pouvez définir la valeur de plage des enregistrements à afficher sur la page. 

Tri

Le tri est autorisé dans les modèles d’API. Sur la base du modèle, choisissez le type de tri à appliquer pour les résultats. Le tri peut être appliqué dans l’ordre croissant ou décroissant. Par exemple, si vous spécifiez sort=name, il s’agit alors d’un tri croissant par nom. Si vous spécifiez sort=-name, il s’agit alors d’un tri décroissant par nom. Reportez-vous aux spécifications de l’API JSON pour plus d’informations

Illustration d’utilisation de l’API

Imaginons qu’un développeur souhaite obtenir le nom de la compétence, les points maximum attribués pour le niveau de compétence et les points gagnés par l’apprenant pour cette compétence.

Un modèle userSkill dans les API Captivate Prime est constitué des attributs par défaut suivants : id, type, dateAchieved, dateCreated, pointsEarned. Ainsi, lorsqu’un développeur utilise la méthode GET pour acquérir des détails du modèle userSkill, les données actuelles relatives aux attributs par défaut sont affichées dans la sortie de réponse. 

Mais, dans ce scénario, le développeur veut obtenir le nom de la compétence et les points de niveau de compétence pour l’utilisateur. L’API Captivate Prime vous permet d’accéder à ces informations associées à l’aide de champs de relation et d’inclure des paramètres. Les modèles associés à userSkill sont obtenus dans la balise de relations. Vous pouvez obtenir les détails de chaque modèle associé en appelant ces modèles avec userSkill. Pour obtenir ces informations, utilisez le paramètre include avec des valeurs séparées par des points pour chacun des modèles associés.Vous pouvez utiliser une virgule comme séparateur pour demander un autre modèle comme user include=skillLevel.skill,course

Appel API

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

Par exemple userId peut être 746783 et userSkills id 746783_4426_1. 

Réponse de l’appel 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}
      }
   ]
}

Modèles Captivate Prime

L’API Captivate Prime permet aux développeurs d’accéder aux objets Captivate Prime en tant que ressources RESTful. Chaque point de terminaison de l’API représente une ressource. Il s’agit généralement d’une instance d’objet comme Badge ou un ensemble de ces objets. Les développeurs utilisent ensuite les verbes HTTP tels que PUT, GET, POST et DELETE pour effectuer des opérations CRUD sur ces objets (collections).

Le schéma suivant représente les différents éléments du modèle d’objet Captivate Prime.

Modèle d’objet Captivate&nbsp;Prime
Modèle d’objet Captivate&nbsp;Prime

Le tableau suivant répertorie les différents éléments du modèle d’objet Captivate Prime : 

Numéro de série

Objet Captivate Prime

Description

1.      

user

L’utilisateur est le modèle principal de Captivate Prime. Les utilisateurs sont généralement les apprenants internes ou externes d’une organisation qui utilisent des objets d’apprentissage. Cependant, ils peuvent jouer d’autres rôles tels que celui de l’auteur et du responsable outre le rôle de l’élève. L’ID de l’utilisateur, le type, le courrier électronique sont quelques-uns des attributs en ligne. 

2.      

course

Le cours est l’un des objets d’apprentissage pris en charge dans Captivate Prime, qui composé d’un ou de plusieurs modules. 

3.      

module

Le module est un bloc constitution pour créer des objets d’apprentissage dans Captivate Prime. Les modules présentent quatre types différents : la salle de classe, la salle de classe virtuelle, l’activité et l’auto-apprentissage. Utilisez ce modèle de module pour obtenir les détails de tous les modules d’un compte. 

4.      

certification

La certification est accordée aux élèves en fonction de la réussite des cours. Des cours sont requis dans l’application avant d’utiliser les certifications. 

5.      

learning program

Les programmes d’apprentissage sont des cours conçus de manière unique qui répondent aux besoins d’apprentissage spécifiques des utilisateurs. Généralement, les programmes d’apprentissage sont utilisés pour atteindre des objectifs d’apprentissage couvrant des cours individuels. 

6.      

badge

Le badge constitue une preuve de réussite que les élèves obtiennent lorsqu’ils atteignent des étapes spécifiques à mesure qu’ils progressent dans un cours. 

7.      

skill

Le modèle de compétences se compose de niveaux et de crédits. Les compétences peuvent être acquises par les élèves après la fin du cours concerné. 

8.      

certificationEnrollment

Ce modèle fournit des informations sur l’inscription d’un utilisateur à une certification.

9.  

courseEnrollment

Ce modèle fournit des informations sur l’inscription d’un utilisateur à un cours. 

10.  

courseInstance

Un cours peut comporter une ou plusieurs instances associées. Vous pouvez obtenir une instance de cours 

11.  

courseSkill

Un modèle courseSkill spécifie la progression d’une compétence obtenue en terminant un cours.

12.  

courseModule

Un modèle courseModule spécifie comment un module est inclus  dans un cours. Par exemple, si le module est utilisé pour un test préliminaire ou pour du contenu.

13.  

learningProgramInstance

Un programme d’apprentissage peut comporter plusieurs instances assimilant des propriétés similaires d’un programme d’apprentissage ou d’instances personnalisées. 

14.  

job aid

L’assistance à la tâche est un contenu d’apprentissage accessible aux élèves sans aucun critère d’inscription ou d’achèvement de cours. Vous pouvez récupérer la date, l’état, les informations d’identification mis à jour avec ses modèles connexes tels que la version de l’assistance à la tâche, les auteurs et le niveau de compétence. 

15.  

jobAidVersion

L’assistance à la tâche peut avoir une ou plusieurs versions associées en fonction des révisions de contenu et du nombre de téléchargements. Ce modèle fournit des détails sur une seule version d’assistance à la tâche. 

16.  

learningProgramInstanceEnrollment

Le programme d’apprentissage comprend une ou plusieurs instances. Les élèves peuvent s’inscrire eux-mêmes à une instance de programme d’apprentissage ou être affectés par un administrateur. Ce modèle fournit des informations sur l’inscription d’un utilisateur à une instance de programme d’apprentissage. 

17.  

moduleVersion

Un module peut avoir une ou plusieurs versions basées sur ses téléchargements de contenu révisé. Utilisez ce modèle pour obtenir des informations spécifiques sur une version de module. 

18.  

skillLevel

Un niveau de compétence comprend un ou plusieurs cours auxquels assister afin d’acquérir un niveau avec ses crédits associés. 

19.  

userBadge

UserBadge met en relation un badge avec un utilisateur. Il contient des informations telles que la date d’obtention, assertionUrl, etc. 

20.  

userSkill

UserSkill indique le niveau de compétence atteint par un utilisateur.

Liste des relations et des attributs d’objet.

account

Attributs
dateCreated
gamificationEnabled
id
locale
loginUrl
logoUrl
name
subdomain
themeData
timeZoneCode

Relations
contentLocales(localizationMetadata)
gamificationLevels(gamificationLevel)
timeZones(timeZone)
uiLocales(localizationMetadata)

badge

Attributs
id
imageUrl
name
state

catalog

Attributs
dateCreated
dateUpdated
description
id
isDefault
isInternallySearchable
isListable
name
state

data

Attributs
id
names

gamification

Attributs
color
name
points

learningObject

Attributs
authorNames
dateCreated
datePublished
dateUpdated
effectivenessIndex
enrollmentType
id
imageUrl
isExternal
isSubLoOrderEnforced
loType
state
tags


Relations
authors(user)
enrollment(learningObjectInstanceEnrollment)
instances(learningObjectInstance)
prerequisiteLOs(learningObject)
skills(learningObjectSkill)
subLOs(learningObject)
supplementaryLOs(learningObject)
supplementaryResources(resource)

learningObjectInstance

Attributs
completionDeadline
dateCreated
enrollmentCount
id
isDefault
seatLimit
state
validity


Relations
badge(badge)
l1FeedbackInfo(feedbackInfo)
learningObject(learningObject)
loResources(learningObjectResource)
localizedMetadata(localizationMetadata)
subLoInstances(learningObjectInstance)

learningObjectInstanceEnrollment

Attributs
dateCompleted
dateEnrolled
dateStarted
hasPassed
id
progressPercent
score
state


Relations
learner(user)
learnerBadge(userBadge)
learningObject(learningObject)
loInstance(learningObjectInstance)
loResourceGrades(learningObjectResourceGrade)

learningObjectResource

Attributs
externalReporting
id
loResourceType
resourceType
version


Relations
learningObject(learningObject)
loInstance(learningObjectInstance)
localizedMetadata(localizationMetadata)
resources(resource)

learningObjectResourceGrade

Attributs
dateCompleted
dateStarted
dateSuccess
duration
hasPassed
id
progressPercent
score


Relations
loResource(learningObjectResource)

learningObjectSkill

Attributs
credits
id
Relationships
learningObject(learningObject)
skillLevel(skillLevel)

recommendation

Attributs
id
reason


Relations
learningObject(learningObject)

resource

Attributs
authorDesiredDuration
completionDeadline
contentStructureInfoUrl
contentType
contentZipSize
contentZipUrl
dateCreated
dateStart
desiredDuration
downloadUrl
extraData
hasQuiz
hasToc
id
instructorNames
isDefault
locale
location
name
onlyQuiz
reportingInfo
reportingType
seatLimit

skill

Attributs
description
id
name
state


Relations
levels(skillLevel)

skillLevel

Attributs
id
level
maxCredits
name
Relations
badge(badge)
skill(skill)

user

Attributs
avatarUrl
bio
contentLocale
email
fields
id
name
pointsEarned
profile
roles
state
timeZoneCode
uiLocale


Relations
account(account)
manager(user)

userBadge

Attributs
assertionUrl
dateAchieved
id
modelType


Relations
badge(badge)
learner(user)
model(learningObject)

userCalendar

Attributs
course
courseType
dateStart
enrolled
id
month
quarter


Relations
containerLO(learningObject)
course(learningObject)

userNotification

Attributs
actionTaken
channel
dateCreated
id
message
modelIds
modelNames
modelTypes
read
role

userSkill

Attributs
dateAchieved
dateCreated
id
pointsEarned


Relations
learnerBadge(userBadge)
learningObject(learningObject)
skillLevel(skillLevel)
user(user)

Processus de développement de l’application

Prérequis

En tant que développeur, vous devez créer un compte d’évaluation sur Prime, afin de pouvoir bénéficier d’un accès complet à tous les rôles dans ce compte. Pour pouvoir créer une application, le développeur doit également créer certains utilisateurs et cours et obtenir un état satisfaisant pour le compte, de façon à ce que l’application en cours de développement puisse avoir accès à des données factices.

Créer l’ID et le secret client

  1. Sur la page de connexion Administrateur d’intégration, cliquez sur Applications dans le volet de gauche. 

    application-development-menu
  2. Cliquez sur Enregistrer dans le coin supérieur droit de la page pour enregistrer les détails de votre application. La page d’inscription apparaît. 

    Enregistrer un nouveau candidat
    Enregistrer un nouveau candidat

    Il est obligatoire de renseigner tous les champs de cette page. 

    Nom de l’application : saisissez le nom de votre application. Il n’est pas obligatoire d’utiliser le même nom d’application, il peut s’agir de n’importe quel nom valide. 

    URL : si vous connaissez l’URL exacte où l’application est hébergée, vous pouvez l’indiquer. Si vous ne disposez pas de cette URL, vous pouvez indiquer l’URL de votre entreprise. Un nom d’URL valide est obligatoire dans ce champ. 

    Rediriger les domaines : saisissez le nom de domaine de l’application vers laquelle vous souhaitez que l’application Captivate Prime redirige après l’authentification OAuth. Vous pouvez indiquer plusieurs URL ici, mais vous devez utiliser des URL valides telles que http://google.com, http://yahoo.com, etc. 

    Description : saisissez une description brève de votre application. 

    Étendues : choisissez l’une des quatre options disponibles pour définir l’étendue de votre application. En fonction de votre choix indiqué ici, le point de terminaison de l’API Captivate Prime est accessible pour votre application. Par exemple, si vous avez choisi Accès lecture du rôle de l’élève, tous les points de terminaison de l’API de l’élève Captivate Prime sont accessibles en lecture seule sur votre application. 

    Uniquement pour ce compte ? 
    Oui : si vous choisissez Oui, l’application n’est pas visible pour les autres administrateurs de compte.
    Non : si vous choisissez Non, les autres administrateurs de compte peuvent également accéder à cette application, mais ils doivent utiliser l’identifiant de l’application pour y accéder. L’identifiant de l’application est généré et affiché dans le mode Édition de l’application Captivate Prime. 

    Remarque :

    Si vous choisissez Accès lecture et écriture du rôle de l’administrateur en tant qu’étendue lors de l’enregistrement de l’application et choisissez l’option Accès lecture du rôle de l’administrateur  lors de la création des API, vous pouvez toujours avoir un accès en écriture pour l’application car l’étendue de l’enregistrement de celle-ci remplace le processus d’autorisation. 

  3. Cliquez sur Enregistrer dans le coin supérieur droit après avoir rempli les détails dans la page d’inscription.

Développement et test d’applications

L’API Captivate Prime peut être utilisée par les développeurs pour créer n’importe quelle application. Les développeurs doivent s’assurer que leurs comptes disposent d’utilisateurs et de cours valides. Ils peuvent créer quelques utilisateurs et cours fictifs et simuler une activité dans le compte d’essai afin qu’ils puissent tester le fonctionnement de l’application.

Déploiement de l’application

Nous recommandons à l’administrateur Captivate Prime ou à un administrateur d’intégration du compte de production de prendre en charge la mise à disposition de l’application aux utilisateurs de leur organisation. Une fois que l’application a été testée et considérée comme prête pour la production, informez l’administrateur du compte de production. Dans l’idéal, les administrateurs veulent générer un nouveau client-id et un nouveau client-secret pour l’application dans le compte de production et effectuer les étapes nécessaires pour les intégrer de manière sécurisée. La procédure de déploiement des applications varie d’une entreprise à l’autre et l’administrateur Captivate Prime de votre organisation doit collaborer avec le département informatique de votre organisation pour terminer le déploiement.

Approbation des applications externes

Vous pouvez ajouter des applications externes en cliquant sur Approuver dans l’angle supérieur droit de la page Applications. Indiquez l’ID de l’application externe et cliquez sur Enregistrer.

Ajouter un demandeur externe
Ajouter un demandeur externe

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne