Skip to main content
A API lê a área de membros da loja da chave: cursos com módulos e aulas, turmas, alunos com as matrículas e o progresso de cada aluno. Com isso o seu sistema monta o catálogo, cruza alunos com o seu cadastro e acompanha a formação. A API só lê: matricular, revogar e mover de turma continuam no painel.

Escopos

Chaves criadas antes dos escopos não têm nenhum dos dois. Marque-os na chave, no painel. Veja Autenticação.

Modelo

Curso

Um curso pertence a um produto, e cada produto tem no máximo um curso. O curso tem módulos, e cada módulo tem aulas, sempre em ordem de position. Rascunhos aparecem, com status: "DRAFT", porque a integração é da própria loja. A aula traz a estrutura: título, tipo (VIDEO, TEXT ou QUIZ), status, regra de liberação e duração do vídeo. O conteúdo pago nunca sai pela API: nada de vídeo, texto, quiz, materiais ou transcrição. Referência: Cursos → Listar cursos e Cursos → Consultar curso.

Turma

Todo curso tem uma turma padrão (isDefault: true) e pode ter outras. O módulo diz quais turmas o veem em visibleCohortIds: null significa todas as turmas. Referência: Turmas → Listar turmas. As turmas também vêm dentro de Consultar curso.

Aluno

O aluno é a pessoa com acesso à área de membros da loja. Um aluno sem matrícula continua aparecendo, com enrollments vazio. A conta de pré-visualização que o seller usa para ver a área nunca aparece. Referência: Alunos → Listar alunos e Alunos → Consultar aluno.

Matrícula

A matrícula liga o aluno a um curso e a uma turma. Ela tem dois campos que respondem perguntas diferentes:
  • status é o estado gravado: ACTIVE ou REVOKED (com revokeReason).
  • hasAccess diz se o aluno entra agora: matrícula ACTIVE e expiresAt nulo ou futuro. Uma matrícula ACTIVE com acesso vencido vem com hasAccess: false.
guaranteeEndsAt é o fim da trava de garantia: até essa data, o conteúdo marcado para depois da garantia fica travado para o aluno.

Progresso

O progresso é calculado por matrícula, na hora da leitura.
  • totalLessons conta só as aulas publicadas, de módulos publicados, que a turma da matrícula vê. Aula em rascunho ou de módulo oculto para a turma fica fora da conta e volta quando fica visível de novo.
  • percent é completedLessons / totalLessons × 100, arredondado, e 0 quando não há aulas. É o mesmo percentual que o aluno vê na área de membros.
  • completedAt é preenchido quando todas as aulas contadas estão concluídas. Uma aula nova publicada tira o 100%.
  • lessons lista cada aula contada, em ordem. A aula que o aluno não abriu vem NOT_STARTED.
  • Matrícula revogada ou vencida mantém o progresso gravado, e certificate continua preenchido quando o certificado foi emitido.
Referência: Alunos → Progresso do aluno.
Chave de teste lê dados reais. As chaves gp_test_ e gp_live_ devolvem os mesmos alunos e o mesmo progresso da loja. Proteja a chave de teste com o mesmo cuidado.

Sincronizando alunos e progresso

As listas usam page e perPage (de 1 a 100, padrão 50) e respondem com hasMore. Pagine até hasMore ser false. A ordem é estável (createdAt decrescente e, no empate, id), então a paginação não pula alunos.
Node.js
Para acompanhar só uma turma, filtre a lista com cohortId. Os filtros de matrícula (courseId, cohortId e enrollmentStatus) escolhem os alunos, mas cada aluno continua com todas as matrículas em enrollments.

Erros