Pular para o conteúdo principal

API de Registros de Treinamento

Retorna as atribuições e os resultados de conclusão dos alunos da organização ou do grupo associado ao cliente de API.

Listar registros de treinamento​

GET /api/v1/training-records

Escopo obrigatório: training.read. Consulte Autenticação para obter e usar um token de acesso.

curl --request GET \
--url "https://courses.e-learningcourses.com/api/v1/training-records?page=1&pageSize=1000" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Accept: application/json"

A credencial determina quais registros são retornados. O endpoint não aceita um identificador de organização ou grupo.

Parâmetros de consulta​

ParâmetroTipoPadrãoDescrição
pageinteiro1Número da página. Deve ser pelo menos 1.
pageSizeinteiro1000Registros por página. Deve estar entre 1 e 5000.
includeArchivedbooleanofalseUse true para incluir registros arquivados.
includeInviteStatusbooleanofalseUse true para incluir o evento mais recente do e-mail de convite. A propriedade inviteStatus é omitida quando o valor é false.
enrolledFromdata ou data/hora ISO 8601nenhumLimite inferior inclusivo da data de atribuição. Exclui registros sem data de atribuição.
enrolledTodata ou data/hora ISO 8601nenhumLimite superior exclusivo da data de atribuição. Exclui registros sem data de atribuição.

Datas sem deslocamento são interpretadas como UTC. Prefira valores UTC explícitos, como 2026-09-01T00:00:00Z.

O intervalo é semiaberto: inclui enrolledFrom e exclui enrolledTo. Para incluir todas as atribuições de 30 de setembro, por exemplo, use enrolledTo=2026-10-01.

Os filtros de inscrição não rastreiam alterações

enrolledFrom e enrolledTo filtram a data em que o treinamento foi atribuído, não lastUpdatedUtc. Uma sincronização que precise detectar alterações posteriores de conclusão deve ler todas as páginas relevantes e reconciliar os registros por recordId.

Exemplo com filtros​

curl --request GET \
--url "https://courses.e-learningcourses.com/api/v1/training-records?page=1&pageSize=5000&enrolledFrom=2026-09-01T00%3A00%3A00Z&enrolledTo=2026-10-01T00%3A00%3A00Z&includeArchived=true&includeInviteStatus=true" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Accept: application/json"

Resposta​

{
"data": [
{
"recordId": 125804,
"firstName": "Alex",
"lastName": "Morgan",
"email": "alex.morgan@example.com",
"courseId": "38f595b7-2ff4-4da6-bf24-91316399ec9a",
"courseName": "Supplier Code of Conduct",
"assignedDateUtc": "2026-09-03T08:30:00Z",
"completedDateUtc": "2026-09-05T14:12:08Z",
"groupId": "fbc74870-3995-4f2c-b129-c2812b3e56c7",
"groupName": "Example Supplier",
"supplierNo": "SUP-1042",
"status": "passed",
"source": "annual",
"archived": false,
"lastUpdatedUtc": "2026-09-05T14:12:12Z",
"inviteStatus": "delivered"
}
],
"pagination": {
"page": 1,
"pageSize": 1000,
"totalRecords": 1,
"totalPages": 1
}
}

Campos do registro​

CampoTipoDescrição
recordIdinteiroIdentificador do registro de status. Use-o para reconciliar coletas repetidas.
firstNamestring ou nullNome do aluno.
lastNamestring ou nullSobrenome do aluno.
emailstring ou nullE-mail ou nome de usuário do aluno.
courseIdUUIDIdentificador do curso. Compare-o com os identificadores de curso da API de Pacotes.
courseNamestringNome do curso.
assignedDateUtcdata/hora ou nullData e hora UTC da atribuição.
completedDateUtcdata/hora ou nullData e hora UTC da conclusão.
groupIdUUID ou nullIdentificador do grupo associado à atribuição. Consulte-o na API de Grupos.
groupNamestring ou nullNome do grupo associado.
supplierNostring ou nullNúmero de fornecedor do grupo.
statusstringStatus estável para sistemas. Consulte Valores de status.
sourcestringOrigem da atribuição: annual, ec ou headtrax. Uma origem sem valor é retornada como annual.
archivedbooleanoIndica se o registro está arquivado.
lastUpdatedUtcdata/horaÚltima atualização do registro de relatório, em UTC.
inviteStatusstring ou nullEvento mais recente do convite para o pacote e o destinatário. Só aparece com includeInviteStatus=true. Trate o valor do provedor como uma string opaca.

Valores de status​

ValorSignificado
not_startedO aluno não iniciou o curso.
in_progressO aluno iniciou, mas não concluiu o curso.
completedO curso foi concluído e não possui resultado de aprovação/reprovação.
passedO aluno concluiu e foi aprovado.
failedO aluno concluiu, mas foi reprovado.
archivedO registro está arquivado. Esse valor prevalece sobre o resultado da conclusão.

Paginação​

Os registros são retornados em ordem estável por recordId. Continue solicitando páginas até page alcançar totalPages. Se não houver correspondências, data estará vazio e totalPages será 0.

Use o objeto pagination; não calcule a próxima página somente pela quantidade recebida, pois a última página pode conter menos registros que pageSize.

Erros​

Status HTTPSignificado
400 Bad RequestUm parâmetro é inválido.
401 UnauthorizedO token está ausente, é inválido ou expirou.
403 ForbiddenFalta training.read ou o cliente não está mais autorizado para seu escopo.
429 Too Many RequestsUm limite foi excedido. Tente novamente com espera progressiva.
500 Internal Server ErrorOcorreu um erro inesperado. Guarde o traceId para solicitar suporte.

Erros de validação usam o formato padrão Problem Details:

{
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"pageSize": [
"Page size must be between 1 and 5000."
]
},
"traceId": "00-..."
}

Consulte os limites de autenticação para conhecer o limite compartilhado.

OpenAPI​

https://courses.e-learningcourses.com/api/v1/openapi.json