Manual do desenvolvedor do Adobe Learning Manager
Visão geral
A Adobe Learning Manager fornece APIs RESTful que permitem aos desenvolvedores integrar e personalizar aplicativos ou fluxos de trabalho de forma eficaz. O Manual do Desenvolvedor oferece orientação sobre como usar essas APIs, abrangendo tópicos como autenticação, modelos de dados e integração com outros aplicativos. Além disso, este guia, a documentação de referência da API, ajuda os desenvolvedores a criar aplicativos externos ou fluxos de trabalho de back-end que interagem com vários recursos do Adobe Learning Manager, incluindo a criação do curso, o acompanhamento do progresso do aluno, o mapeamento de habilidades, a certificação, a gamificação e as transcrições.
Este manual abrange o seguinte:
- Autenticação OAuth2.0
- Modelos de objeto da API
- Incluir campos e outros parâmetros
- Casos de uso reais
Cenários de uso da API
Os desenvolvedores podem usar as APIs do Learning Manager para aprimorar ou integrar o Learning Manager a outros aplicativos corporativos. Você pode criar aplicativos para a Web, desktop ou dispositivos móveis usando qualquer tecnologia. Os desenvolvedores podem acessar os dados do Learning Manager, mas você controla onde e como o aplicativo é usado.
Autenticação usando OAuth 2.0
Para acessar as APIs do Adobe Learning Manager com segurança, você deve se autenticar usando o mecanismo OAuth 2.0 do Adobe Learning Manager. Esse processo inclui o registro do aplicativo, a geração de um código de autorização, a troca dele por um token de atualização e, por fim, o uso do token de atualização para obter um token de acesso.
Registrar um aplicativo
Integre o Adobe Learning Manager a aplicativos externos para aumentar a versatilidade. As etapas envolvem acessar a interface do administrador de integração, registrar o aplicativo e obter a ID de cliente e o segredo. Gerar tokens de autenticação OAuth 2.0, incluindo tokens de autorização, atualização e acesso, do Adobe Learning Manager. Use o fluxo do OAuth 2.0 para autenticar e autorizar com segurança seu aplicativo. O token de acesso tem validade de sete dias.
-
Faça logon no Adobe Learning Manager como administrador de integração.
-
Selecione Aplicativos no painel esquerdo.
-
Selecione Registrar e adicione as seguintes informações:
-
Nome do Aplicativo: digite o nome do seu aplicativo (máximo de 50 caracteres).
-
URL: a URL oficial da sua empresa ou aplicativo. Usado para identificação e referência.
-
Domínios de redirecionamento: especifique os domínios (por exemplo, http://learningmanager.adobe.com) para os quais o Adobe Learning Manager pode redirecionar após a autorização. É possível especificar vários URLs válidos.
-
Descrição: breve descrição do que o aplicativo faz.
-
Escopos: selecione uma das seis opções disponíveis para definir o escopo do seu aplicativo. Com base na sua escolha mencionada aqui, os endpoints da API do Learning Manager estão acessíveis para o seu aplicativo. Por exemplo, se você escolheu o acesso de leitura da função do aluno, todos os pontos de extremidade da API do aluno do Learning Manager são somente leitura acessíveis ao seu aplicativo.
- Acesso de leitura/gravação da função de administrador: permite que o aplicativo acesse ou modifique dados como administrador.
- Acesso de leitura/gravação da função do aluno: permite que o aplicativo acesse ou modifique os dados dos alunos.
- Acesso de leitura/gravação xAPI: permite que o aplicativo acesse e envie instruções da Experience API (xAPI).
-
Apenas para esta conta?
- Sim - se você escolher Sim, o aplicativo não estará visível para outros administradores de conta.
- Não - se você escolher Não, outros administradores de conta também poderão acessar este aplicativo, mas precisarão usar a ID do aplicativo para acessar este aplicativo. A ID do aplicativo é gerada e exibida no modo Edição do aplicativo Learning Manager.
-
-
Selecione Salvar para registrar o aplicativo.
- Depois de registrar o aplicativo, ele fica disponível na lista de aplicativos criados na conta. Selecione o aplicativo e você verá o seguinte, além dos campos inseridos anteriormente:
- ID do aplicativo: é a ID do cliente. Essa ID informa ao Adobe Learning Manager o aplicativo que está solicitando acesso. Está incluído em solicitações de API para identificar o aplicativo.
- Segredo do aplicativo: é usado para autenticar seu aplicativo e verificar sua identidade durante as etapas de troca de tokens (por exemplo, ao solicitar um token de atualização ou um token de acesso).
Obter um token de acesso
Obter o código de autorização
Depois de obter a ID do cliente e o Segredo do cliente, use-os para solicitar um token de acesso, que é usado para autenticar chamadas de API.
Para iniciar o fluxo do código de autorização, adicione o seguinte URL em um navegador:
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
Depois que o usuário autoriza o aplicativo, o Adobe Learning Manager redireciona para o redirect_uri especificado com um parâmetro de consulta anexado:
https://yourapp.com/callback?code=abc123xyz
Um código de parâmetro é anexado junto com o uri de redirecionamento.
Obter token de atualização do código
Depois de obter o código, use qualquer ferramenta da API e adicione a seguinte solicitação de POST:
https://learningmanager.adobe.com/oauth/token
Corpo da Solicitação (x-www-form-urlencoded):
grant_type=authorization_code
&code=abc123xyz
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&redirect_uri=<your_redirect_url>
Resposta
{
"access_token": "eyJhbGciOiJIUzI1...",
"refresh_token": "xTjlfz0jCk6gF1...",
"expires_in": 604800,
"token_type": "Bearer"
}
Use o access_token no cabeçalho de autorização para fazer solicitações de API autenticadas.
Usar o token de acesso em uma chamada de API
Verifique o token de acesso usando o seguinte:
GET https://learningmanager.adobe.com/oauth/token/check?access_token=<access_token>
Um token de acesso é válido por sete dias. Após sete dias, você precisa gerar um novo token de acesso usando o token de atualização. Se você gerar um novo token de acesso a partir do token de atualização enquanto um token de acesso existente ainda for válido, o token existente será retornado.
Obter tokens de acesso para teste e desenvolvimento
Ao trabalhar com APIs do Adobe Learning Manager, os desenvolvedores precisam de um token de acesso OAuth 2.0 válido para autenticar solicitações de API. A geração desse token por meio do fluxo OAuth padrão pode ser complexa e demorada, especialmente para testes rápidos, aprendizado ou desenvolvimento. O Adobe Learning Manager fornece uma ferramenta de geração de token para simplificar esse processo.
Essa ferramenta é ideal durante:
-
Compilações de prova de conceito (POC)
-
Desenvolvimento em fase inicial
-
Solução de problemas de integração da API
Esses tokens são destinados exclusivamente para uso pessoal durante as fases de desenvolvimento e depuração. Lembre-se de que os tokens de teste concedem acesso aos seus dados do Adobe Learning Manager, por isso é essencial manipulá-los com segurança. Nunca compartilhe seus tokens de teste com outras pessoas, use-os em aplicativos de produção ou inclua-os em repositórios de código públicos. Trate-os como senhas para garantir a segurança da sua conta e dos seus dados.
-
Faça logon no Adobe Learning Manager como administrador de integração.
-
Selecione Recursos do Desenvolvedor e depois selecione Tokens de Acesso para Teste e Desenvolvimento.
-
Digite a ID do cliente obtida após a criação de um aplicativo para obter o código OAuth. Depois, selecione Enviar.
-
Adicione a ID do Cliente e o Segredo do Cliente para obter o token de atualização. Depois, selecione Enviar. O OAuth é preenchido previamente a partir da etapa anterior.
-
Adicione a ID do cliente e o Segredo do cliente para obter o token de acesso. Depois, selecione Enviar.
-
Adicione o token de acesso e selecione Enviar para obter os detalhes do token de acesso.
Ao selecionar Enviar, o token de acesso será verificado, e você receberá o seguinte objeto JSON:
{
"access_token": "access token",
"refresh_token": "refresh token",
"user_role": "admin",
"account_id": "1234",
"user_id": "123456",
"expires_in": 604800
}
Como antes, o token de acesso para teste expira em sete dias.
Usar uma ferramenta de API para testar os pontos de extremidade
Embora você possa usar qualquer ferramenta de teste de API de terceiros, usaremos o Postman para testar os endpoints. Os exemplos neste documento usam o Postman para testar os endpoints.
-
Abra o Postman e crie uma nova solicitação.
-
Selecione a guia Autorização.
-
Defina o tipo de autenticação como Token de portador.
-
Cole o token de acesso obtido na seção anterior no campo Token.
-
Adicione o seguinte na guia Cabeçalhos.
- Tecla: aceitar
- Valor: application/json
-
Insira o ponto de extremidade da API no campo URL. Exemplo: https://learningmanager.adobe.com/learningManager/api/v2/users
Consulte a Referência de API do Adobe Learning Manager para obter mais informações. -
Selecione Enviar para fazer a solicitação de API.
Tipos de APIs
APIs do administrador
As APIs de administração do Adobe Learning Manager permitem que os administradores automatizem e gerenciem operações de aprendizado em escala.
Usando as APIs de administração, os desenvolvedores podem:
- Gerenciar usuários e grupos: crie, atualize e exclua usuários ou atribua-os a grupos.
- Inscrever alunos: automatize a inscrição em cursos, caminhos de aprendizado ou certificações.
- Acompanhar o progresso do aluno: recuperar o progresso do curso/módulo, as pontuações do questionário e o status de conclusão.
- Gerar relatórios: acesse dados sobre a atividade, o engajamento e o desempenho do aluno.
- Gerenciar conteúdo: crie e organize cursos e objetos de aprendizado.
Exiba a Referência da API do Adobe Learning Manager para obter mais informações.
APIs do aluno
As APIs do aluno são projetadas para usuários autenticados (alunos) e permitem acessar informações específicas do aluno. Essas APIs permitem tarefas como:
- Acessar os cursos e o progresso de um aluno
- Obtenção de medalhas ou certificações obtidas
- Atualizando informações do perfil do aluno
- Exibição de habilidades associadas aos cursos concluídos
Pontos principais:
- Essas APIs exigem um token de usuário autenticado, garantindo a segurança e a privacidade dos dados.
- As APIs são destinadas a cenários em que os usuários estão totalmente registrados e conectados, em vez de usuários anônimos ou compartilhados.
Exiba a Referência da API do Adobe Learning Manager para obter mais informações.
Design da API e parâmetros comuns
As APIs fornecem aos desenvolvedores acesso aos principais recursos do Learning Manager, como usuários, cursos, habilidades, certificações e programas de aprendizado. Ele segue os princípios REST, usando métodos HTTP (GET, POST, PUT, DELETE) para operações de dados.
Parâmetros comuns
Aqui está uma breve explicação de cada um:
incluir
As APIs do Adobe Learning Manager podem ser usadas para recuperar informações úteis ao criar um aplicativo personalizado ou um LMS sem periféricos. Os endpoints da API podem ser incluídos com parâmetros 'include' adicionais para recuperar as informações adicionais que estão em relação aos dados recebidos por padrão. Esses relacionamentos são relações de modelo de dados. Por exemplo, ao fazer uma chamada para obter detalhes do usuário, você receberá as informações do usuário e o relacionamento do ID de gerente e do ID da conta da Adobe Learning Manager. Com o parâmetro include, você pode extrair detalhes adicionais junto com os detalhes do usuário, como os detalhes do gerente e os detalhes da conta da Adobe Learning Manager, de maneira detalhada.
Resumindo, o parâmetro include é usado em chamadas de API para buscar recursos relacionados (vinculados) junto com o recurso principal em uma única resposta. É útil quando você deseja acessar dados aninhados ou dependentes, como módulos de um curso ou as habilidades mapeadas para um aluno, sem fazer chamadas de API separadas.
Principais benefícios:
- Reduz várias chamadas de API: evita a necessidade de solicitar manualmente cada recurso relacionado.
- Aumenta a eficiência: desenvolvimento mais rápido, menos carga do servidor e renderização mais rápida dos dados.
- Garante a consistência dos dados: recupera todos os dados relacionados em um instantâneo consistente.
Como usar o parâmetro de inclusão
Anexe o parâmetro include ao URL da API e especifique as entidades relacionadas a serem incluídas.
Caminhos de inclusão comuns
Exemplo 1
Recupere os detalhes de um usuário usando o parâmetro userID no ponto de extremidade.
https://learningmanager.adobe.com/primeapi/v2/users/<userID>
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Na resposta, você pode ver que o objeto de dados tem um relacionamento com a conta e o gerente do usuário.
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400476",
"type": "user"
}
}
}
Usando o parâmetro include na solicitação, você pode recuperar informações detalhadas sobre o gerente, conforme mostrado abaixo:
GET https://learningmanager.adobe.com/primeapi/v2/users/<userid>?include=manager
Exemplo 2
Para recuperar os detalhes do curso, use o parâmetro include na chamada do endpoint. O ponto de extremidade a seguir obtém as informações do curso junto com suas relações.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>
Os relacionamentos são exibidos na resposta da seguinte maneira:
- instâncias
- habilidades
- 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"
}
]
}
}
Outras relações podem incluir (não presente na resposta acima):
- prerequisiteLOs
- complementarLOs
- recursosSuplementares
Para obter dados detalhados das instâncias e habilidades, inclua “instâncias, habilidades” no parâmetro include.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,skills
Agora, por exemplo, se você deseja recuperar mais dados associados à instância do curso, como loResources (informações do módulo do curso), aplique loResources como uma inclusão aninhada.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances.loResources
Além disso, combine habilidades e instâncias com uma inclusão aninhada.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,instances.loResources,skills
Outros filtros de inclusão
campos
Os atributos e relacionamentos de um objeto da API são chamados de Campos. Use Campos como um parâmetro em chamadas de API para recuperar atributos específicos do modelo. Sem o parâmetro Fields, a chamada da API recupera todos os atributos disponíveis.
Por exemplo, na seguinte chamada de API, fields[skill]=name busca o atributo name apenas do modelo de habilidade.
GET https://learningmanager.adobe.com/primeapi/v2/users/3400490/userSkills/3400490_1796_1?include=skillLevel.skill&fields[skill]=name
paginação
A paginação de API é uma técnica usada em APIs para dividir grandes conjuntos de dados em blocos menores e gerenciáveis, chamados páginas, em vez de retornar todos os dados em uma única resposta.
A paginação reduz a carga do cliente e do servidor, limita o tamanho da resposta para evitar gargalos no servidor ou é útil para exibir dados em tabelas ou listas, uma página por vez.
Como funciona a paginação em APIs do Adobe Learning Manager
As APIs do Adobe Learning Manager oferecem suporte à paginação por meio de parâmetros como:
- página[limite]: número de registros por página.
- página[deslocamento]: número de registros a ignorar.
- página[cursor]: aponta para o próximo conjunto de resultados. Em vez de usar a paginação baseada em deslocamento (que ignora vários registros), a paginação baseada em cursor usa um marcador exclusivo retornado da API para buscar a próxima página de resultados.
Veja como usar a paginação em APIs:
limite[de página]
Enquanto https://learningmanager.adobe.com/primeapi/v2/users retorna todos os usuários e informações relacionadas em uma única chamada, o uso da página[limit] restringe o número de resultados ao valor especificado.
Para retornar apenas cinco registros de usuário em uma única chamada, use a seguinte API:
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
deslocamento[de página]
Use essa chamada de API para retornar três registros de usuário, ignorar os cinco primeiros usuários e começar do sexto.
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=3&page[offset]=5
página[cursor]
-
Comece solicitando a primeira página com um limite de 5.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
-
Copie o valor do cursor de links.next e use-o na próxima solicitação:
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" }
-
Envie a seguinte solicitação:
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482
Retorna o próximo conjunto de 10 registros, começando após o último item da página anterior.
filtro
O parâmetro filter permite restringir os resultados da API com base em um ou mais valores de campo.
As APIs do Adobe Learning Manager fornecem variações diferentes do parâmetro de filtro para restringir as respostas.
Exiba a Referência da API do Adobe Learning Manager para obter mais informações.
Este exemplo mostra como filtrar as ajudas de tarefa nas quais um aluno se inscreveu usando o ponto final com o parâmetro de filtro:
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.loTypes=jobAid
classificar
O parâmetro de classificação é usado para classificar resultados de API em ordem crescente ou decrescente com base em um ou mais campos.
O Adobe Learning Manager fornece várias opções de classificação para classificar a resposta da API. Exiba a Referência da API do Adobe Learning Manager para obter mais informações.
Estendendo o exemplo anterior, agora você classificará a inscrição do usuário em Programas de aprendizado por data de inscrição em ordem crescente.
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.lotypes=learningProgram&sort=dateEnrolled
Visão geral dos modelos de API
As APIs do Adobe Learning Manager permitem que os desenvolvedores acessem objetos do Learning Manager como recursos RESTful. Cada ponto de extremidade da API representa um recurso, geralmente uma instância de objeto, como Medalha ou uma coleção desses objetos. Os desenvolvedores então usam verbos HTTP como PUT, GET, POST e DELETE para executar as operações CRUD nesses objetos (coleções).
APIs e pontos de extremidade do aluno
Aqui estão os principais endpoints de API para trabalhar com dados do aluno. Essas APIs orientam os desenvolvedores a interagir com as informações do aluno, monitorar o progresso, gerenciar inscrições e recuperar o conteúdo do curso.
Recuperar detalhes de todos os alunos
Busque os detalhes do aluno (nome, e-mail, UUID, perfil do usuário e assim por diante). Use a API para listar todos os alunos na conta.
GET https://learningmanager.adobe.com/primeapi/v2/users
Recuperar detalhes de um aluno específico
Se quiser visualizar o perfil de um aluno por ID, use a API a seguir para fazer uma chamada.
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Listar todos os cursos, programas de aprendizado, ajudas de tarefa e certificações
Recupere os detalhes de todos os objetos de aprendizado nos quais o aluno está inscrito, foi concluído ou foi ativado pelo administrador.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects
Obter detalhes de um objeto de aprendizado específico
Obtenha informações detalhadas sobre um Objeto de aprendizado. Ela inclui a data de criação, a data de publicação, a data de atualização e outras informações.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<LearningObjectID>
Recuperar lista de habilidades vinculadas aos cursos
Exibir habilidades atribuídas a todos os alunos na conta.
GET https://learningmanager.adobe.com/primeapi/v2/skills
Obter informações sobre nível de habilidade e medalha
Verifique o progresso dos alunos em jornadas de aprendizado baseadas em habilidades.
GET https://learningmanager.adobe.com/primeapi/v2/skills/<skillID>?include=levels
Lista de todas as medalhas criadas para uma conta
Faça uma chamada para o ponto de extremidade a seguir para recuperar uma lista de todas as medalhas criadas para uma conta em uma organização.
GET https://learningmanager.adobe.com/primeapi/v2/badges
Recuperar informações de uma medalha
Obtenha informações detalhadas sobre uma medalha, incluindo o nome da medalha, o URL da imagem da medalha e o status da medalha.
GET https://learningmanager.adobe.com/primeapi/v2/badges/<skillID>
Isso produz a seguinte resposta:
{
"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"
}
}
}
Outros exemplos de uso de API
Criar um usuário
-
Usar o ponto final:
code language-none POST https://learningmanager.adobe.com/primeapi/v2/users
Processa os atributos do corpo da API ou da carga JSON para gerar um usuário e, subsequentemente, fornece a um usuário a respectiva ID de usuário preenchida.
-
Usar a seguinte carga como corpo:
code language-none { "data": { "type": "user", "attributes": { "email": "bob@example.com", "name": "Bob", "userType": "INTERNAL" } } }
Há três atributos obrigatórios:
- email: ID do email do usuário. Esse valor deve ser exclusivo para cada usuário.
- nome: o nome do usuário.
- userType: no momento, somente usuários internos podem ser adicionados com este ponto de extremidade. O userType deve ser “INTERNAL”.
Você receberá o seguinte 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"
}
}
}
}
}
Excluir um usuário
-
Obtenha a ID do usuário que deseja excluir.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
-
Em seguida, usando DELETE, faça a seguinte chamada:
code language-none DELETE https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Uma resposta 204 é exibida. Um código de resposta 204 indica sucesso sem nenhum conteúdo para retornar. O servidor processou a solicitação com êxito, mas não tem dados a serem fornecidos ao cliente.
O status do usuário agora é EXCLUÍDO após a recuperação dos detalhes do usuário.
Atualizar detalhes do usuário
- Atualizar detalhes do usuário usando a API v2. O aluno pode modificar bio, uiLocale, contentLocale, fuso horário. Para contas grandes, são chamadas assíncronas. Há muitos outros atributos de usuário que podem ser atualizados usando esse ponto de extremidade da API. Use o ponto de extremidade /users/{id}, onde id é a id do usuário cujos detalhes devem ser atualizados.
PATCH https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Adicione o seguinte na carga da solicitação para atualizar o usuário com a ID <userID>
, da seção anterior.
Alterar qualquer campo na carga.
{
"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"
}
}
}
}
}
Depois de fazer a chamada, os detalhes do usuário são atualizados.
Criar um perfil externo
Um perfil externo se refere a um perfil de usuário criado para alunos externos, geralmente indivíduos que não fazem parte da base de usuários internos da organização. Esses alunos podem incluir clientes, parceiros, fornecedores, franqueados ou contratados temporários que precisam de acesso a programas de treinamento ou certificação oferecidos pela organização.
-
Use o seguinte ponto de extremidade:
code language-none POST https://learningmanager.adobe.com/primeapi/v2/externalProfiles
-
Usar a seguinte carga como corpo:
{
"data": {
"type": "externalProfile",
"attributes": {
"name": "Jonas Albertson",
"expiry": "2027-12-31T18:29:59.000Z",
"managerEmail": "jonas@acme.com",
"seatLimit": 10
}
}
}
A carga tem os seguintes atributos:
- nome: O nome do usuário externo.
- validade: a data de validade (no formato ISO-8601) do registro do usuário no Adobe Learning Manager.
- managerEmail: o endereço de email do gerente do usuário da organização parceira.
- seatLimit: o número de licenças permitidas para a organização parceira.
Depois de fazer a chamada, você receberá a seguinte resposta:
{
"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"
}
}
}
Isso significa que o usuário externo foi adicionado com êxito ao Adobe Learning Manager. Envie o URL que está na resposta ao usuário, com o qual ele pode se registrar na plataforma.
Extrair relatório de usuário com detalhes da ID de usuário e do gerente
Um relatório de usuário pode ser baixado diretamente da Interface de Usuário do administrador (Administrador > Usuários > Internos). No entanto, o relatório não retorna a ID do usuário e os detalhes do gerente associado.
Use a API Trabalhos para baixar o relatório. A API Trabalhos ajuda na geração de relatórios, operações em massa (inscrições ou atribuições de medalha), conclusões de certificação ou geração de medalha.
Veja como você pode baixar o relatório:
-
Adicione a seguinte carga à API de trabalhos.
code language-none { "data": { "type": "job", "attributes": { "description": "description of your choice", "jobType": "generateUsers", "payload":{ "expandMetadata":true } } } }
-
Use o seguinte ponto de extremidade.
code language-none POST https://learningmanager.adobe.com/primeapi/v2/jobs
-
Copiar a ID do trabalho da resposta.
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" } } } }
Na resposta, a ID do trabalho é 43118.
-
Depois de copiar a ID, use a ID na API Trabalhos para baixar o relatório.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/jobs/43118
-
Copie o URL S3 da resposta.
-
Cole o URL no seu navegador. O navegador solicita que você salve ou abra o arquivo CSV. Salve o arquivo no seu computador.
O arquivo baixado contém as seguintes colunas:
internalUserID, userEmail, customerDefinedUniqueUserId, nome, managerEmail, userType, estado, deletedFromGamification, pointsEarned, perfil, funções, dateCreated, lastLoginDate, dateDeleted, uiLocale, contentLocale, timeZoneCode, userSource, grupo, Campos ativos, metadados e lastSocialActivityDate.
Gerar medalha usando a API Trabalhos
-
Obtenha uma lista de medalhas para um usuário na organização. Use o seguinte ponto de extremidade:
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users/3400476/userBadges
Em que 3400476 é a ID do usuário.
-
Copie a ID da medalha da resposta. Por exemplo, 3400476_759_COMPETENCY_1796_1 é o ID da medalha.
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" } } } }
-
Crie uma carga e especifique o ID da medalha na carga. Um exemplo de carga útil é o seguinte:
code language-none { "data": { "type": "job", "attributes": { "description": "Acme Corp Badge", "jobType": "generateUserBadge", "payload": { "userBadgeId": "3400476_759_COMPETENCY_1796_1" } } } }
Depois de fazer uma chamada, você receberá a ID do trabalho na resposta.
-
Pegue a ID do trabalho da resposta e use a ID do trabalho no ponto de extremidade a seguir para fazer a chamada.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/jobs/<jobsID>
-
Copie o URL da medalha da resposta e abra-o em um navegador. O certificado será baixado como um PDF.
Criar usuários no Adobe Learning Manager
O ponto de extremidade POST /users ajuda a criar um usuário usando o modo sem periféricos. Crie usuários com informações detalhadas, como o processo de registro na interface de usuário nativa no Adobe Learning Manager.
Por exemplo,
POST https://learningmanager.adobe.com/primeapi/v2/users
Adicione o seguinte corpo à solicitação:
{
"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"
}
}
}
}
}
Depois de fazer a chamada, a seguinte resposta é exibida:
{
"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"
}
}
}
}
}
Um novo usuário será adicionado ao Adobe Learning Manager.
Feedback N1 da publicação
-
Recupere o curso, a instância e os dados de inscrição do aluno. Use o seguinte ponto final:
code language-none GET /enrollments
-
Verifique se o feedback L1 está ativado para a instância do curso.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>/instances/<loInstanceID>/l1Feedback
-
Envie o feedback N1.
code language-none POST /enrollments/{id}/l1Feedback
Exemplo de carga útil necessária:
{
"data": {
"id": "course:7454218_10333537_11257863",
"type": "feedback",
"attributes": {
"questions": [
{
"answer": "8",
"questionId": "1",
"mandatory": true,
"questionType": "scaleTen"
}
],
"score": 80
}
}
}
Buscar as informações de nível do módulo de um curso
-
Recupere os detalhes de um objeto de aprendizado 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" } ] } } } }
-
Use o parâmetro include para recuperar o seguinte:
a. Liste todos os módulos do Objeto de aprendizado.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources
b. Liste todo o conteúdo dos módulos.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources.resources
Verificar progresso do módulo
-
Recupere o objeto de aprendizado do catálogo usando a ID do 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>
-
Obtenha os detalhes de inscrição de um aluno usando a ID de inscrição.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/enrollments/<enrollmentID>
Copie a ID do nível de recurso do Objeto de aprendizado da resposta.
-
Use a ID no ponto de extremidade a seguir.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/loResourceGrades/<courseResourceGradeID>
Você receberá informações sobre o progresso do módulo na resposta.
Implementar representação do aluno
Ao implementar um LMS sem periféricos com o Adobe Learning Manager como back-end, as organizações podem exigir que a equipe de suporte personifique os alunos para solução de problemas ou assistência. O método de representação orientado por API garante o acesso seguro, mantendo a confidencialidade das credenciais do aluno, e oferece suporte a transições perfeitas nos estados de sessão.
O Adobe Learning Manager facilita a representação do aluno em ambientes LMS sem periféricos por meio de uma API dedicada. Esse recurso permite que a equipe de suporte assuma temporariamente a identidade de um aluno, permitindo diagnosticar problemas, testar funcionalidades ou fornecer assistência prática simulando a experiência do aluno. A representação é ativada usando um token de acesso de administrador armazenado em cache, que é usado para gerar programaticamente um token de acesso do aluno. Esse processo permite que o sistema opere como se estivesse conectado como o aluno.
Detalhes do ponto de extremidade da API
POST /oauth/learnerToken
Exemplo de URL completo
https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false
Parâmetros de consulta:
- learner_email: (string) O e-mail do aluno a ser representado.
- force: (booleano) Se um novo token deve ser gerado à força, se existir.
Corpo da solicitação:
{
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"refresh_token": "your-admin-refresh-token"
}
Exemplo de resposta:
{
"access_token": "generated-token",
"refresh_token": "new-refresh-token",
"user_role": "learner",
"account_id": "123456",
"user_id": "7891011",
"expires_in": 604800
}
Exemplo 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 erro
Ao trabalhar com APIs do Adobe Learning Manager (Adobe Learning Manager), os desenvolvedores podem encontrar vários códigos de erro HTTP durante as solicitações. Esses erros fornecem feedback importante sobre o que deu errado e como corrigi-lo. A compreensão desses códigos ajuda os desenvolvedores a solucionar problemas rapidamente, melhorar a confiabilidade da API e garantir integrações mais suaves. A tabela a seguir é um guia para os códigos de erro HTTP comuns retornados pelas APIs do Adobe Learning Manager, juntamente com explicações e cenários típicos nos quais eles ocorrem. Esta seção é essencial para qualquer pessoa que esteja criando, testando ou depurando aplicativos que se conectem ao Adobe Learning Manager.
As APIs do Adobe Learning Manager exigem estritamente este tipo de conteúdo.