Adobe Learning Manager Developer Manual
Información general
Adobe Learning Manager proporciona API RESTful que permiten a los desarrolladores integrar y personalizar aplicaciones o flujos de trabajo de manera efectiva. El Manual del desarrollador ofrece orientación sobre cómo utilizar estas API, y abarca temas como la autenticación, los modelos de datos y la integración con otras aplicaciones. Además, esta guía Documentación de referencia de API ayuda a los desarrolladores a crear aplicaciones externas o flujos de trabajo de backend que interactúan con diversas funciones de Adobe Learning Manager, como la creación de cursos, el seguimiento del progreso de los alumnos, la asignación de aptitudes, la certificación, la interacción y las transcripciones.
Este manual cubre lo siguiente:
- Autenticación de OAuth2.0
- Modelos de objetos de API
- Incluir, campos y otros parámetros
- Casos prácticos del mundo real
Escenarios de uso de API
Los desarrolladores pueden utilizar las API de Learning Manager para mejorar o integrar Learning Manager con otras aplicaciones empresariales. Puede crear aplicaciones web, de escritorio o móviles con cualquier tecnología. Los desarrolladores pueden acceder a los datos de Learning Manager, pero el usuario controla dónde y cómo se utiliza la aplicación.
Autenticación mediante OAuth 2.0
Para acceder a las API de Adobe Learning Manager de forma segura, debe autenticarse mediante el mecanismo OAuth 2.0 de Adobe Learning Manager. Este proceso incluye el registro de la aplicación, la generación de un código de autorización, su cambio por un token de actualización y, por último, el uso del token de actualización para obtener un token de acceso.
Registrar una aplicación
Integra Adobe Learning Manager con aplicaciones externas para una versatilidad mejorada. Los pasos implican el acceso a la interfaz del administrador de integración, el registro de la aplicación y la obtención del ID y el secreto de cliente. Genere tokens de autenticación de OAuth 2.0, incluidos tokens de autorización, actualización y acceso, desde Adobe Learning Manager. Use el flujo de OAuth 2.0 para autenticar y autorizar de forma segura su aplicación. El token de acceso tiene una validez de siete días.
-
Inicie sesión en Adobe Learning Manager como administrador de integración.
-
Seleccione Aplicaciones en el panel izquierdo.
-
Seleccione Registrar y agregue la siguiente información:
-
Nombre de la aplicación: escriba el nombre de la aplicación (50 caracteres como máximo).
-
URL: la dirección URL oficial de la empresa o aplicación. Utilizado para identificación y referencia.
-
Dominios de redirección: especifique los dominios (por ejemplo, http://learningmanager.adobe.com) a los que Adobe Learning Manager puede redirigir después de la autorización. Puede especificar varias direcciones URL válidas.
-
Descripción: breve descripción de lo que hace la aplicación.
-
Ámbitos: seleccione una de las seis opciones disponibles para definir el ámbito de la aplicación. En función de su elección, los puntos finales de la API de Learning Manager están accesibles para la aplicación. Por ejemplo, si elige Acceso de lectura de la función de alumno, todos los puntos finales de la API de alumno de Learning Manager solo estarán accesibles en modo de solo lectura en la aplicación.
- Acceso de lectura y escritura de la función de administrador: permite a la aplicación acceder a los datos o modificarlos como administrador.
- Acceso de lectura y escritura de la función de alumno: permite que la aplicación acceda a los datos de los alumnos o los modifique.
- Acceso de lectura y escritura de xAPI: permite a la aplicación acceder a las instrucciones de la API de experiencia (xAPI) y enviarlas.
-
¿Solo para esta cuenta?
- Sí: si elige Sí, la aplicación no estará visible para otros administradores de cuentas.
- No: si elige No, otros administradores de cuentas también pueden tener acceso a esta aplicación, pero deben usar el id. de aplicación para tener acceso a ella. El ID de aplicación se genera y se muestra en el modo de edición de la aplicación de Learning Manager.
-
-
Seleccione Guardar para registrar la aplicación.
- Después de registrar la aplicación, esta estará disponible en la lista de aplicaciones creadas en la cuenta. Seleccione la aplicación y verá lo siguiente además de los campos introducidos anteriormente:
- ID de aplicación: ID de cliente. Este ID indica a Adobe Learning Manager la aplicación que solicita acceso. Se incluye en las solicitudes de API para identificar la aplicación.
- Secreto de aplicación: se utiliza para autenticar la aplicación y verificar su identidad durante los pasos de intercambio de tokens (por ejemplo, al solicitar un token de actualización o de acceso).
Obtener un token de acceso
Obtener el código de autorización
Después de obtener el ID de cliente y el secreto de cliente, utilícelos para solicitar un token de acceso, que se utiliza para autenticar llamadas de API.
Para comenzar el flujo de código de autorización, agregue la siguiente dirección URL en un explorador:
GET https://learningmanager.adobe.com/oauth/o/authorize?client_id=<Enter your clientId>&redirect_uri=<Enter a url to redirect to>&state=<Any String data>&scope=<one or more comma separated scopes>&response_type=CODE
Una vez que el usuario autorice la aplicación, Adobe Learning Manager redirigirá al URI de redirección especificado con un parámetro de consulta anexado:
https://yourapp.com/callback?code=abc123xyz
Se añade un código de parámetro junto con el URI de redirección.
Obtener token de actualización del código
Después de obtener el código, utilice cualquier herramienta de la API y añada la siguiente solicitud de POST:
https://learningmanager.adobe.com/oauth/token
Cuerpo de solicitud (x-www-form-url-coded):
grant_type=authorization_code
&code=abc123xyz
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&redirect_uri=<your_redirect_url>
Respuesta
{
"access_token": "eyJhbGciOiJIUzI1...",
"refresh_token": "xTjlfz0jCk6gF1...",
"expires_in": 604800,
"token_type": "Bearer"
}
Utilice access_token en el encabezado Authorization para realizar solicitudes de API autenticadas.
Usar el token de acceso en una llamada de API
Verifique el token de acceso mediante lo siguiente:
GET https://learningmanager.adobe.com/oauth/token/check?access_token=<access_token>
Un token de acceso es válido durante siete días. Después de siete días, debe generar un nuevo token de acceso mediante el token de actualización. Si genera un nuevo token de acceso a partir del token de actualización mientras un token de acceso existente sigue siendo válido, se devuelve el token existente.
Obtener tokens de acceso para pruebas y desarrollo
Cuando se trabaja con API de Adobe Learning Manager, los desarrolladores necesitan un token de acceso de OAuth 2.0 válido para autenticar las solicitudes de API. La generación de este token a través del flujo estándar de OAuth puede resultar compleja y requerir mucho tiempo, especialmente para pruebas, aprendizaje o desarrollo rápidos. Adobe Learning Manager proporciona una herramienta de generación de tokens para simplificar este proceso.
Esta herramienta es ideal durante:
-
Compilaciones de prueba de concepto (POC)
-
Desarrollo en fase inicial
-
Solución de problemas de integración de API
Estos tokens están pensados únicamente para su uso personal durante las fases de desarrollo y depuración. Tenga en cuenta que los tokens de prueba conceden acceso a sus datos de Adobe Learning Manager, por lo que es esencial tratarlos de forma segura. No comparta nunca sus tokens de prueba con otros usuarios, no los utilice en aplicaciones de producción ni los incluya en repositorios de código públicos. Trátalos como contraseñas para garantizar la seguridad de tu cuenta y tus datos.
-
Inicie sesión en Adobe Learning Manager como administrador de integración.
-
Seleccione Recursos de desarrolladores y, a continuación, seleccione Tokens de acceso para pruebas y desarrollo.
-
Escriba el ID de cliente que obtuvo después de crear una aplicación para obtener el código de OAuth. A continuación, seleccione Enviar.
-
Agregue el ID de cliente y el secreto de cliente para obtener el token de actualización. A continuación, seleccione Enviar. OAuth se rellena previamente desde el paso anterior.
-
Agregue el ID de cliente y el secreto de cliente para obtener el token de acceso. A continuación, seleccione Enviar.
-
Agregue el token de acceso y seleccione Enviar para obtener los detalles del token de acceso.
Al seleccionar Submit, se verifica el token de acceso y recibirá el siguiente objeto JSON:
{
"access_token": "access token",
"refresh_token": "refresh token",
"user_role": "admin",
"account_id": "1234",
"user_id": "123456",
"expires_in": 604800
}
Como antes, el token de acceso para las pruebas caduca en siete días.
Usar una herramienta de API para probar los puntos finales
Aunque puedes usar cualquier herramienta de prueba de API de terceros, usaremos Postman para probar los puntos finales. En los ejemplos de este documento se utiliza Postman para probar los puntos finales.
-
Abra Postman y cree una nueva solicitud.
-
Seleccione la ficha Autorización.
-
Establezca el Tipo de autenticación en Token del portador.
-
Pegue el token de acceso obtenido en la sección anterior, en el campo Token.
-
Añada lo siguiente en la pestaña Encabezados .
- Clave: aceptar
- Valor: application/json
-
Introduzca el punto final de la API en el campo URL. Ejemplo: https://learningmanager.adobe.com/learningManager/api/v2/users
Consulte la Referencia de la API de Adobe Learning Manager para obtener más información. -
Seleccione Enviar para realizar la solicitud de API.
Tipos de API
API de administración
Las API de administración de Adobe Learning Manager permiten a los administradores automatizar y administrar las operaciones de aprendizaje a escala.
Mediante el uso de las API de administración, los desarrolladores pueden:
- Administrar usuarios y grupos: Cree, actualice y elimine usuarios o asígnelos a grupos.
- Inscribir alumnos: Automatiza la inscripción en cursos, rutas de aprendizaje o certificaciones.
- Realizar un seguimiento del progreso del alumno: Recupere el progreso del curso/módulo, las puntuaciones de las pruebas y el estado de finalización.
- Generar informes: Accede a los datos sobre la actividad, la participación y el rendimiento del alumno.
- Administrar contenido: Crea y organiza cursos y objetos de aprendizaje.
Consulte Referencia de la API de Adobe Learning Manager para obtener más información.
API de alumno
Las API de alumno están diseñadas para usuarios autenticados (alumnos) y permiten acceder a información específica del alumno. Estas API permiten tareas como:
- Acceso a los cursos y el progreso de un alumno
- Obtención de insignias o certificaciones obtenidas
- Actualización de información de perfil de alumno
- Visualización de aptitudes asociadas a cursos completados
Puntos clave:
- Estas API requieren un token de usuario autenticado, lo que garantiza la seguridad y la privacidad de los datos.
- Las API están pensadas para situaciones en las que los usuarios están completamente registrados y con sesión iniciada, en lugar de para usuarios anónimos o compartidos.
Consulte Referencia de la API de Adobe Learning Manager para obtener más información.
Diseño de API y parámetros comunes
Las API proporcionan a los desarrolladores acceso a recursos clave de Learning Manager, como usuarios, cursos, aptitudes, certificaciones y programas de aprendizaje. Sigue los principios de REST, utilizando métodos HTTP (GET, POST, PUT, DELETE) para las operaciones de datos.
Parámetros comunes
A continuación se ofrece una breve explicación de cada uno de ellos:
incluir
Las API de Adobe Learning Manager se pueden utilizar para recuperar información útil al crear una aplicación personalizada o un LMS sin encabezado. Los puntos finales de la API se pueden incluir además con parámetros "include" adicionales para recuperar la información adicional que está en relación con los datos recibidos de forma predeterminada. Estas relaciones son relaciones de modelo de datos; por ejemplo, al realizar una llamada para obtener detalles del usuario, recibirá la información del usuario y la relación del identificador del responsable y el identificador de cuenta de Adobe Learning Manager. Con el parámetro include, puede extraer detalles adicionales junto con los detalles del usuario, como los detalles de su responsable y los detalles de la cuenta de Adobe Learning Manager de forma detallada.
En resumen, el parámetro include se utiliza en llamadas de API para obtener recursos relacionados (vinculados) junto con el recurso principal en una única respuesta. Resulta útil cuando desea acceder a datos anidados o dependientes, como módulos de un curso o las aptitudes asignadas a un alumno, sin realizar llamadas de API independientes.
Principales ventajas:
- Reduce varias llamadas a la API: evita la necesidad de solicitar manualmente cada recurso relacionado.
- Mejora la eficiencia: desarrollo más rápido, menor carga del servidor y procesamiento más rápido de los datos.
- Garantiza la coherencia de los datos: recupera todos los datos relacionados en una instantánea coherente.
Cómo usar el parámetro include
Añada el parámetro include a la URL de la API y especifique las entidades relacionadas que desea incluir.
Rutas de inclusión comunes
Ejemplo 1
Recupere los detalles de un usuario utilizando el parámetro userID en el extremo.
https://learningmanager.adobe.com/primeapi/v2/users/<userID>
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
En la respuesta, puede ver que el objeto de datos tiene una relación con la cuenta y el administrador del usuario.
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400476",
"type": "user"
}
}
}
Mediante el parámetro include de la solicitud, puede recuperar información detallada sobre el responsable, como se muestra a continuación:
GET https://learningmanager.adobe.com/primeapi/v2/users/<userid>?include=manager
Ejemplo 2
Para recuperar los detalles del curso, utilice el parámetro include en la llamada al punto final. El siguiente punto final obtiene la información del curso junto con sus relaciones.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>
Las relaciones se muestran en la respuesta de la siguiente manera:
- instancias
- aptitudes
- autores
"relationships": {
"authors": {
"data": [
{
"id": "3400468",
"type": "user"
}
]
},
"instances": {
"data": [
{
"id": "course:16444_31598",
"type": "learningObjectInstance"
}
]
},
"skills": {
"data": [
{
"id": "course:16444_1796",
"type": "learningObjectSkill"
},
{
"id": "course:16444_3103",
"type": "learningObjectSkill"
}
]
}
}
Otras relaciones podrían incluir (no presentes en la respuesta anterior):
- prerrequisitoOA
- OAs suplementarias
- suplementarioResources
Para obtener datos detallados de las instancias y aptitudes, incluya "instancias, aptitudes" en el parámetro include.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,skills
Ahora, por ejemplo, si desea recuperar más datos asociados a la instancia del curso, como loResources (información del módulo del curso), aplique loResources como un include anidado.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances.loResources
Además, combine aptitudes e instancias con una inclusión anidada.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,instances.loResources,skills
Otros filtros incluidos
campos
Los atributos y relaciones de un objeto de API se denominan "Fields". Utilice Fields como parámetro en llamadas de API para recuperar atributos específicos del modelo. Sin el parámetro Fields, la llamada de API recupera todos los atributos disponibles.
Por ejemplo, en la siguiente llamada de API, fields[skill]=name obtiene únicamente el atributo name del modelo de aptitud.
GET https://learningmanager.adobe.com/primeapi/v2/users/3400490/userSkills/3400490_1796_1?include=skillLevel.skill&fields[skill]=name
paginación
La paginación de API es una técnica que se utiliza en las API para desglosar grandes conjuntos de datos en fragmentos más pequeños y manejables, denominados páginas, en lugar de devolver todos los datos en una sola respuesta.
La paginación reduce la carga del cliente y del servidor, limita el tamaño de respuesta para evitar cuellos de botella en el servidor o es útil para mostrar datos en tablas o listas de una página a la vez.
Cómo funciona la paginación en las API de Adobe Learning Manager
Las API de Adobe Learning Manager admiten la paginación a través de parámetros como:
- page[limit]: número de registros por página.
- page[offset]: número de registros que se van a omitir.
- page[cursor]: puntero al siguiente conjunto de resultados. En lugar de utilizar la paginación basada en desplazamiento (que omite varios registros), la paginación basada en cursor utiliza un marcador único devuelto por la API para obtener la siguiente página de resultados.
A continuación se indica cómo utilizar la paginación en las API:
página[límite]
Mientras que https://learningmanager.adobe.com/primeapi/v2/users devuelve todos los usuarios e información relacionada en una sola llamada, el uso de page[limit] restringe el número de resultados al valor especificado.
Para devolver solo cinco registros de usuario en una sola llamada, utilice la siguiente API:
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
página[desplazamiento]
Utilice esta llamada de API para devolver tres registros de usuario, omitir los cinco primeros usuarios y comenzar desde el sexto.
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=3&page[offset]=5
página[cursor]
-
Comience solicitando la primera página con un límite de 5.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
-
Copie el valor del cursor de links.next y utilícelo en la siguiente solicitud:
code language-none "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5", "next": "https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482" }
-
Envíe la siguiente solicitud:
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482
Esto devuelve el siguiente conjunto de 10 registros, comenzando después del último elemento de la página anterior.
filtrar
El parámetro filter permite limitar los resultados de la API en función de uno o varios valores de campo.
Las API de Adobe Learning Manager proporcionan diferentes variaciones del parámetro de filtro para reducir las respuestas.
Consulte Referencia de la API de Adobe Learning Manager para obtener más información.
En este ejemplo se muestra cómo filtrar las ayudas de trabajo en las que se ha inscrito un alumno mediante el punto final con el parámetro filter:
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.loTypes=jobAid
clasificar
El parámetro de ordenación se utiliza para ordenar los resultados de la API en orden ascendente o descendente en función de uno o varios campos.
Adobe Learning Manager proporciona varias opciones de ordenación para ordenar la respuesta de la API. Consulte Referencia de la API de Adobe Learning Manager para obtener más información.
Extendiendo el ejemplo anterior, ahora ordenará la inscripción del usuario en programas de aprendizaje por fecha de inscripción en orden ascendente.
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.lotypes=learningProgram&sort=dateEnrolled
Descripción general de los modelos de API
Las API de Adobe Learning Manager permiten a los desarrolladores acceder a los objetos de Learning Manager como recursos RESTful. Cada punto final de la API representa un recurso, por lo general, una instancia de objeto como una insignia o una colección de esos objetos. A continuación, los desarrolladores utilizan verbos de HTTP como PUT, GET, POST y DELETE para realizar las operaciones CRUD en esos objetos (colecciones).
Puntos de conexión y API de alumno
Estos son los puntos finales clave de la API para trabajar con datos de alumnos. Estas API guían a los desarrolladores en la interacción con la información del alumno, el seguimiento del progreso, la administración de inscripciones y la recuperación del contenido del curso.
Recuperar detalles de todos los alumnos
Recupere detalles del alumno (nombre, correo electrónico, UUID, perfil de usuario, etc.). Utilice la API para enumerar todos los alumnos de la cuenta.
GET https://learningmanager.adobe.com/primeapi/v2/users
Recuperar detalles de un alumno específico
Si desea ver el perfil de un alumno por ID, utilice la siguiente API para realizar una llamada.
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Enumera todos los cursos, programas de aprendizaje, ayudas de trabajo y certificaciones
Recupere los detalles de todos los objetos de aprendizaje en los que el alumno se ha inscrito, se ha completado o el administrador ha habilitado.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects
Obtener detalles de un objeto de aprendizaje específico
Obtenga información detallada sobre un objeto de aprendizaje. Incluye su fecha de creación, fecha de publicación, fecha de actualización y otra información.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<LearningObjectID>
Recuperar lista de aptitudes vinculadas a cursos
Muestra las aptitudes asignadas a todos los alumnos de la cuenta.
GET https://learningmanager.adobe.com/primeapi/v2/skills
Obtener información sobre el nivel de aptitud y las insignias
Comprueba el progreso de los alumnos en los recorridos de aprendizaje basados en habilidades.
GET https://learningmanager.adobe.com/primeapi/v2/skills/<skillID>?include=levels
Lista de todas las insignias creadas para una cuenta
Realice una llamada al siguiente punto final para recuperar una lista de todas las insignias creadas para una cuenta de una organización.
GET https://learningmanager.adobe.com/primeapi/v2/badges
Recuperar información de una insignia
Obtenga información detallada sobre una insignia, incluido su nombre, la URL de la imagen de insignia y el estado de la insignia.
GET https://learningmanager.adobe.com/primeapi/v2/badges/<skillID>
Esto produce la siguiente respuesta:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/badges/499"
},
"data": {
"id": "499",
"type": "badge",
"attributes": {
"imageUrl": "https://cpcontentsdev.adobe.com/public/account/1010/accountassets/1010/badges/test_57a5ab00555a475a8fc6671562184dc9.png",
"name": "penguins",
"state": "Retired"
}
}
}
Otros ejemplos de uso de API
Crear un usuario
-
Utilice el punto final:
code language-none POST https://learningmanager.adobe.com/primeapi/v2/users
Procesa los atributos del cuerpo de la API o de la carga de JSON para generar un usuario y, posteriormente, proporciona a un usuario el ID de usuario respectivo rellenado.
-
Utilice la siguiente carga útil como cuerpo:
code language-none { "data": { "type": "user", "attributes": { "email": "bob@example.com", "name": "Bob", "userType": "INTERNAL" } } }
Hay tres atributos obligatorios:
- correo electrónico: ID de correo electrónico del usuario. Este valor debe ser único para cada usuario.
- name: el nombre del usuario.
- userType: en la actualidad, solo se pueden añadir usuarios internos utilizando este extremo. El userType debe ser "INTERNAL".
Recibirá el siguiente objeto JSON:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/users"
},
"data": {
"id": "13386404",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"email": "bob@example.com",
"name": "Bob",
"pointsEarned": 0,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Employee",
"roles": [
"Learner"
],
"state": "ACTIVE",
"userType": "Internal",
"userUniqueId": "bob@example.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400468",
"type": "user"
}
}
}
}
}
Eliminar un usuario
-
Obtenga el ID de usuario del usuario que desea eliminar.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
-
A continuación, utilice DELETE para realizar la siguiente llamada:
code language-none DELETE https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Aparece una respuesta 204. Un código de respuesta 204 indica éxito sin contenido que devolver. El servidor ha procesado correctamente la solicitud, pero no tiene ningún dato que proporcionar al cliente.
El estado del usuario es ahora DELETED después de recuperar los detalles del usuario.
Actualizar detalles de usuarios
- Actualizar los detalles del usuario que utiliza la API v2. El alumno puede modificar bio, uiLocale, contentLocale y timezone. Para las cuentas grandes, se trata de llamadas asincrónicas. Hay muchos otros atributos de usuario que se pueden actualizar mediante este extremo de API. Utilice el extremo /users/{id}, donde id es el id. de usuario cuyos detalles se van a actualizar.
PATCH https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Agregue lo siguiente en la carga de la solicitud para actualizar el usuario con el identificador <userID>
, de la sección anterior.
Cambie cualquier campo de la carga útil.
{
"data": {
"id": "3400468",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"binUserId": "3e6d571f-3956-44db-be69-8e458bde649f",
"bio": "Manager",
"contentLocale": "de-DE",
"email": "user@example.com",
"enrollOnClick": true,
"fields": {
"Web": "Web",
"newfororder": "newvalue",
"location": "New",
"test1": "b"
},
"gamificationEnabled": true,
"lastLoginDate": "2025-04-30T09:30:51.000Z",
"metadata": {
"level": "5",
"expertise": "java",
"sport": "tennis"
},
"name": "John Adams",
"pointsEarned": 8600,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Employee",
"roles": [
"Learner",
"Admin",
"Author",
"Instructor",
"Integration Admin",
"Manager"
],
"state": "ACTIVE",
"timeZoneCode": "213",
"uiLocale": "en-US",
"userType": "Internal",
"userUniqueId": "user@example.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
}
}
}
}
Después de realizar la llamada, se actualizan los detalles del usuario.
Crear un perfil externo
Un perfil externo hace referencia a un perfil de usuario que se crea para alumnos externos, normalmente personas que no forman parte de la base de usuarios internos de la organización. Estos alumnos pueden incluir clientes, socios, proveedores, franquiciados o contratistas temporales que necesiten acceso a los programas de formación o certificación ofrecidos por la organización.
-
Utilice el siguiente punto final:
code language-none POST https://learningmanager.adobe.com/primeapi/v2/externalProfiles
-
Utilice la siguiente carga útil como cuerpo:
{
"data": {
"type": "externalProfile",
"attributes": {
"name": "Jonas Albertson",
"expiry": "2027-12-31T18:29:59.000Z",
"managerEmail": "jonas@acme.com",
"seatLimit": 10
}
}
}
La carga útil tiene los siguientes atributos:
- name: el nombre del usuario externo.
- expiry: fecha de caducidad (en formato ISO-8601) del registro del usuario en Adobe Learning Manager.
- managerEmail: la dirección de correo electrónico del responsable del usuario de la organización asociada.
- seatLimit: número de puestos permitidos para la organización asociada.
Después de hacer la llamada, obtendrá la siguiente respuesta:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/externalProfiles"
},
"data": {
"id": "18805",
"type": "externalProfile",
"attributes": {
"accessKey": "8gte2ne7f4r14",
"enabled": true,
"expiry": "2027-12-31T18:29:59.000Z",
"managerEmail": "jonas@acme.com",
"name": "Jonas Albertson",
"seatLimit": 10,
"url": "https://learningmanager.adobe.com/eplogin?groupid=18805&accesskey=8gte2ne7f4r14"
}
}
}
Esto significa que el usuario externo se ha añadido correctamente a Adobe Learning Manager. Envíe la URL que aparece en la respuesta al usuario, mediante la cual puede registrarse en la plataforma.
Extraer informe de usuarios con el ID de usuario y los detalles del responsable
Se puede descargar un informe de usuario directamente desde la interfaz de usuario del administrador (Administrador > Usuarios > Interno). Sin embargo, el informe no devuelve el ID de usuario ni los detalles del responsable asociado.
Utilice la API Trabajos para descargar el informe. La API de trabajos ayuda a generar informes, operaciones en bloque (inscripciones o asignaciones de insignias), finalizaciones de certificaciones o generación de insignias.
Así es como puedes descargar el informe:
-
Añada la siguiente carga a la API de trabajos.
code language-none { "data": { "type": "job", "attributes": { "description": "description of your choice", "jobType": "generateUsers", "payload":{ "expandMetadata":true } } } }
-
Utilice el siguiente punto final.
code language-none POST https://learningmanager.adobe.com/primeapi/v2/jobs
-
Copie el id. de trabajo de la respuesta.
code language-none { "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/jobs" }, "data": { "id": "43118", "type": "job", "attributes": { "dateCreated": "2025-05-26T06:35:35.000Z", "description": "description of your choice", "jobType": "generateUsers", "payload": { "expandMetadata": true }, "status": { "code": "Submitted" } } } }
En la respuesta, el identificador del trabajo es 43118.
-
Después de copiar el ID, use el ID en la API de trabajos para descargar el informe.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/jobs/43118
-
Copie la URL S3 de la respuesta.
-
Pegue la URL en el navegador. El explorador le pedirá que guarde o abra el archivo CSV. Guarde el archivo en el equipo.
El archivo descargado contiene las siguientes columnas:
internalUserID, userEmail, customerDefinedUniqueUserId, name, managerEmail, userType, state, excludeFromGamification, pointsEarned, profile, roles, dateCreated, lastLoginDate, dateDeleted, uiLocale, contentLocale, timeZoneCode, userSource, group, Active fields, metadata y lastSocialActivityDate.
Generar insignia mediante la API de trabajos
-
Obtener una lista de insignias de un usuario de la organización. Utilice el siguiente punto final:
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users/3400476/userBadges
Donde 3400476 es el ID de usuario.
-
Copie el identificador de insignia de la respuesta. Por ejemplo, 3400476_759_COMPETENCY_1796_1 es el identificador de la insignia.
code language-none { "id": "3400476_759_COMPETENCY_1796_1", "type": "userBadge", "attributes": { "assertionUrl": "https://cpcontentsdev.adobe.com/public/accountassets/1010/badges/assertions/a99566b5aa8f4cfa92380581733c63a9_1626278856926.json", "dateAchieved": "2016-02-25T08:45:25.000Z", "modelType": "skillLevel" }, "relationships": { "badge": { "data": { "id": "759", "type": "badge" } }, "learner": { "data": { "id": "3400476", "type": "user" } }, "model": { "data": { "id": "1796_1", "type": "skillLevel" } } } }
-
Cree una carga y especifique el identificador de insignia en la carga. A continuación se muestra un ejemplo de carga útil:
code language-none { "data": { "type": "job", "attributes": { "description": "Acme Corp Badge", "jobType": "generateUserBadge", "payload": { "userBadgeId": "3400476_759_COMPETENCY_1796_1" } } } }
Después de hacer una llamada, obtendrá el ID del trabajo en la respuesta.
-
Tome el Id. de trabajo de la respuesta y use el Id. de trabajo del siguiente punto final para realizar la llamada.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/jobs/<jobsID>
-
Copie la URL de insignia de la respuesta y ábrala en un navegador. El certificado se descargará como PDF.
Crear usuarios en Adobe Learning Manager
El extremo POST/usuarios le ayuda a crear un usuario mediante el modo sin encabezado. Cree usuarios con información detallada, como el proceso de registro en la interfaz de usuario nativa del administrador de aprendizaje de Adobe.
Por ejemplo,
POST https://learningmanager.adobe.com/primeapi/v2/users
Añada el siguiente cuerpo a la solicitud:
{
"data":
{
"type": "user",
"attributes": {
"bio": "",
"contentLocale": "fr-FR",
"email": "user@work.com",
"enrollOnClick": true,
"fields": {
"Learning Categories": [
"Business"
],
"Categories": "IT"
},
"gamificationEnabled": true,
"name": "Test User",
"profile": "Engineer",
"userType": "INTERNAL",
"userUniqueId": "user@work.com"
},
"relationships": {
"account": {
"data": {
"id": "108079",
"type": "account"
}
}
}
}
}
Después de realizar la llamada, aparece la siguiente respuesta:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/users"
},
"data": {
"id": "13385627",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"email": "user@work.com",
"name": "Test User",
"pointsEarned": 0,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Engineer",
"roles": [
"Learner"
],
"state": "ACTIVE",
"userType": "Internal",
"userUniqueId": "user@work.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400468",
"type": "user"
}
}
}
}
}
Se agregará un nuevo usuario a Adobe Learning Manager.
Comentarios posteriores a L1
-
Recupere los datos de curso, instancia e inscripción del alumno. Utilice el siguiente punto final:
code language-none GET /enrollments
-
Compruebe si los comentarios de L1 están activados para la instancia del curso.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>/instances/<loInstanceID>/l1Feedback
-
Envíe los comentarios de L1.
code language-none POST /enrollments/{id}/l1Feedback
Ejemplo de carga útil necesaria:
{
"data": {
"id": "course:7454218_10333537_11257863",
"type": "feedback",
"attributes": {
"questions": [
{
"answer": "8",
"questionId": "1",
"mandatory": true,
"questionType": "scaleTen"
}
],
"score": 80
}
}
}
Obtener información del nivel de módulo de un curso
-
Recupere los detalles de un objeto de aprendizaje por ID.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>
code language-none { "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899" }, "data": { "id": "course:1171899", "type": "learningObject", "attributes": { "authorNames": [ "James Adams" ], "dateCreated": "2017-11-01T15:28:09.000Z", "datePublished": "2017-11-01T15:28:20.000Z", "dateUpdated": "2017-11-01T15:28:20.000Z", "duration": 60, "effectiveModifiedDate": "2017-11-01T15:28:20.000Z", "effectivenessIndex": 0, "enrollmentType": "Self Enroll", "hasOptionalLoResources": false, "hasPreview": false, "isExternal": false, "isMqaEnabled": false, "isPrerequisiteEnforced": false, "isSubLoOrderEnforced": false, "loFormat": "Self Paced", "loResourceCompletionCount": 3, "loType": "course", "moduleResetEnabled": false, "state": "Published", "unenrollmentAllowed": true, "catalogLabels": [ { "catalogLabelValueIds": [ { "name": "Sales", "id": "catalogLabel:13_31" } ], "description": "", "mandatory": false, "name": "Department", "values": [ "Sales" ] } ], "localizedMetadata": [ { "locale": "en-US", "name": " Test course 2" } ], "rating": { "averageRating": 0, "ratingsCount": 0 } }, "relationships": { "authors": { "data": [ { "id": "3400468", "type": "user" } ] }, "instances": { "data": [ { "id": "course:1171899_2067352", "type": "learningObjectInstance" } ] }, "skills": { "data": [ { "id": "course:1171899_1797", "type": "learningObjectSkill" } ] } } } }
-
Utilice el parámetro include para recuperar lo siguiente:
a. Enumere todos los módulos del objeto de aprendizaje.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources
b. Enumere todo el contenido de los módulos.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources.resources
Comprobar el progreso del módulo
-
Recupere el objeto de aprendizaje del catálogo mediante el ID del curso.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects?page[limit]=10&filter.loTypes=course&sort=name&filter.ignoreEnhancedLP=true&id=<courseID>
-
Obtenga los detalles de inscripción de un alumno mediante el ID de inscripción.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/enrollments/<enrollmentID>
Copie el ID de grado de recurso del objeto de aprendizaje de la respuesta.
-
Utilice el ID en el siguiente punto final.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/loResourceGrades/<courseResourceGradeID>
En la respuesta, obtendrá información sobre el progreso del módulo.
Implementar la suplantación del alumno
Al implementar un LMS sin encabezado con Adobe Learning Manager como motor, las organizaciones pueden requerir que el personal de soporte suplante a los alumnos para la solución de problemas o la asistencia. El método de suplantación basado en API garantiza un acceso seguro a la vez que mantiene la confidencialidad de las credenciales del alumno y admite transiciones fluidas en los estados de sesión.
Adobe Learning Manager facilita la suplantación de alumnos en entornos de LMS sin periféricos a través de una API dedicada. Esta función permite al personal de soporte asumir temporalmente la identidad de un alumno, lo que le permite diagnosticar problemas, probar funcionalidades o proporcionar asistencia práctica simulando la experiencia del alumno. La suplantación se activa mediante un token de acceso de administrador en caché, que se utiliza para generar mediante programación un token de acceso de alumno. Este proceso permite que el sistema funcione como si hubiera iniciado sesión como alumno.
Detalles del extremo de API
POST /oauth/learnerToken
Ejemplo completo de URL
https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false
Parámetros de consulta:
- learner_email: (cadena) el correo electrónico del alumno que se va a suplantar.
- force: (booleano) Indica si se debe generar por la fuerza un nuevo token si existe.
Cuerpo de solicitud:
{
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"refresh_token": "your-admin-refresh-token"
}
Ejemplo de respuesta:
{
"access_token": "generated-token",
"refresh_token": "new-refresh-token",
"user_role": "learner",
"account_id": "123456",
"user_id": "7891011",
"expires_in": 604800
}
Ejemplo de cURL:
curl --location --request POST 'https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false' \
--header 'Content-Type: application/json' \
--data-raw '{
"client_id": "xxxx",
"client_secret": "xxxx",
"refresh_token": "xxxx"
}'
Códigos de error
Al trabajar con las API de Adobe Learning Manager (Adobe Learning Manager), los desarrolladores pueden encontrar varios códigos de error HTTP durante las solicitudes. Estos errores proporcionan información importante sobre qué ha fallado y cómo solucionarlo. Conocer estos códigos ayuda a los desarrolladores a solucionar problemas rápidamente, mejorar la fiabilidad de la API y garantizar integraciones más fluidas. La siguiente tabla es una guía de los códigos de error HTTP habituales devueltos por las API de Adobe Learning Manager, junto con explicaciones y situaciones típicas en las que se producen. Esta sección es esencial para cualquiera que cree, pruebe o depure aplicaciones que se conecten a Adobe Learning Manager.
Las API de Adobe Learning Manager requieren estrictamente este tipo de contenido.