Criar minha escola grátis →
Desenvolvedores · Documentação da API

Token e permissões

Como o token funciona, o que cada permissão libera e como manter a integração segura.

API v1 · contrato 1.0.0

O token é a chave que identifica a sua integração. Ele carrega o que a integração pode fazer (permissões), de onde ela pode chamar (lista de IPs) e até quando (validade). Quem cria, ajusta e desliga tokens é um administrador da escola, em Configurações › API da escola.

Como enviar o token

Em toda chamada, no cabeçalho Authorization:

Cabeçalho
Authorization: Bearer elms_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Todo token começa com elms_live_, seguido de 40 caracteres.
  • Nunca na URL nem no corpo. Nesses lugares ele acaba gravado em registros de servidor e no histórico do navegador. A API recusa com 400 o token enviado fora do cabeçalho.
  • Para qualquer problema de credencial — token errado, vencido, revogado, suspenso ou chamado de um IP fora da lista — a resposta é a mesma: 401. É de propósito, para não dar pistas a quem tenta adivinhar. O motivo real fica no histórico do token, que o administrador vê no painel.

Permissões

Marque só o que a integração usa. Nos módulos com três níveis, cada nível inclui os anteriores: quem pode excluir também pode escrever e ler.

MóduloLeituraEscritaExclusão
Cursos e categoriascourses.readcourses.writecourses.delete
Módulos e aulaslessons.readlessons.writelessons.delete
Usuários (alunos e professores)users.readusers.writeusers.delete
Turmasclasses.readclasses.writeclasses.delete
Matrículasenrollments.readenrollments.writeenrollments.delete
Desempenho (progresso)performance.read——
Certificadoscertificates.read——
Gamificação (emblemas)gamification.read——
Vendas (pedidos)sales.read——
Assinaturassubscriptions.read——
Relatóriosreports.read——

Permissões especiais

PermissãoO que libera
special.personal_dataDados pessoais: CPF, telefone e endereço, para ler e gravar. Sem ela, esses campos não aparecem nas respostas e enviá-los gera 403. Dado pessoal fora do LMS passa a ser responsabilidade da escola perante a LGPD.
special.lesson_contentConteúdo das aulas: o texto e os links das aulas. Sem ela, as aulas vêm só com título, tipo e situação.

O que a API nunca faz: criar ou promover administradores, receber senhas, mudar preços e planos ou cobrar. Para conferir as permissões de um token em uso, chame GET /me.

Lista de IPs

Na criação do token você pode informar de quais endereços ele aceita chamadas: um por linha, em IPv4, IPv6 ou faixa (203.0.113.0/24). Em branco, vale qualquer IP.

  • A lista é obrigatória para tokens com qualquer permissão de exclusão ou com special.personal_data.
  • Uma chamada de IP fora da lista recebe 401, fica no histórico do token e gera um aviso por e-mail para os administradores da escola — quase sempre significa que o token está sendo usado fora do lugar.
  • Use o IP de saída do servidor que chama a API. Em computador pessoal, o IP da internet pode mudar sem aviso.

Validade, rotação e revogação

  • Todo token vence. A validade padrão é de 90 dias e pode chegar a 365. Os administradores recebem aviso por e-mail 14 e 3 dias antes.
  • Token parado é desligado. Depois de 60 dias sem uso, os administradores são avisados; aos 180 dias, ele é revogado sozinho.
  • Rotacionar gera um token novo com as mesmas permissões. O antigo pode continuar valendo por até 7 dias, para você trocar a integração sem parar o serviço.
  • Suspender bloqueia o token na hora e permite reativar depois. Revogar desliga de vez.
  • Perdeu o token? Ele não pode ser mostrado de novo, nem pelo suporte. Rotacione e atualize a integração.

Histórico de chamadas

Cada chamada fica registrada no painel, na janela do token: data, rota, resultado, IP, tempo de resposta e os nomes dos campos alterados — nunca os valores. Leituras ficam guardadas por 90 dias e escritas por 365.

Toda resposta traz o cabeçalho X-Request-Id. Guarde-o no log da sua integração e informe-o ao suporte quando precisar de ajuda com uma chamada específica.

Usamos cookies para melhorar sua experiência de navegação.