Autenticação
A API do e-LearningCourses usa o fluxo de credenciais de cliente OAuth 2.0 para integrações entre servidores. Primeiro, crie um cliente de API para a organização ou o grupo que a integração poderá acessar.
Solicitar um token de acesso
Envie uma solicitação POST codificada como formulário para:
https://courses.e-learningcourses.com/connect/token
Inclua estes campos:
| Campo | Valor |
|---|---|
grant_type | client_credentials |
client_id | Seu ID do cliente |
client_secret | Seu segredo do cliente |
scope | training.read para APIs de leitura, assignments.write para atribuições ou ambos separados por um espaço |
Este exemplo solicita um token para as APIs de leitura:
curl --request POST \
--url "https://courses.e-learningcourses.com/connect/token" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=client_credentials" \
--data-urlencode "client_id=$CLIENT_ID" \
--data-urlencode "client_secret=$CLIENT_SECRET" \
--data-urlencode "scope=training.read"
Para atribuir alunos, solicite assignments.write. O cliente deve ter Atribuir usuários ativado em Acesso à API. Para ler e atribuir com o mesmo token, solicite training.read assignments.write.
{
"token_type": "Bearer",
"access_token": "ACCESS_TOKEN",
"expires_in": 3600
}
Os tokens expiram após 60 minutos. Reutilize o token até pouco antes da expiração.
Os erros OAuth contêm os campos error e error_description.
Usar o token de acesso
Envie o token no cabeçalho Authorization de cada solicitação:
Authorization: Bearer ACCESS_TOKEN
Cada referência de API identifica o escopo necessário.
Proteger credenciais
Mantenha segredos e tokens em um servidor confiável. Não os inclua em JavaScript do navegador, aplicativos móveis, código-fonte, e-mail, planilhas ou logs.
Regenerar ou revogar um cliente revoga imediatamente seus tokens de acesso existentes.
Limites de requisição
| Solicitação | Limite |
|---|---|
| Tokens de acesso | 5 por minuto e endereço IP de origem |
| Solicitações autenticadas à API | 20 por minuto e cliente de API |
| Solicitações de atribuição | 2 por minuto e cliente de API |
O limite autenticado é compartilhado entre os endpoints de leitura usados por um cliente; as atribuições têm um limite separado. As solicitações não entram em fila quando o limite é atingido. Repita respostas 429 e erros 5xx transitórios com espera exponencial e variação aleatória. Nos lotes de atribuição, confira os resultados por aluno e repita apenas as falhas.