API de Integração
Turmas

Listar turmas

Lista as turmas de um curso (informe o `CourseId`). Também é possível filtrar por visibilidade e paginar.

GET
/course-classes

Autorização

apiToken
Api-Token<token>

Token do parceiro. Gere no painel do parceiro: Configurações > Integrações > API Token (perfil Admin ou Superadmin). Envie só este header: se Authorization também for enviado, ele tem prioridade e a requisição é recusada com 401.

Local: header

Parâmetros de Query

CourseId*integer

ID do curso. Obrigatório.

visible?string

true ou false para filtrar pela visibilidade.

Valor em

  • "true"
  • "false"
page?string

Página (começa em 1).

itensPerPage?string

Itens por página (padrão 50). O nome do parâmetro é esse mesmo, com "itens".

Corpo da Resposta

application/json

application/json

curl -X GET "https://example.com/course-classes?CourseId=33954&page=1&itensPerPage=50"
{  "paging": null,  "content": [    {      "id": 1,      "active": true,      "visible": true,      "name": "Turma teste 1",      "startsAt": null,      "endsAt": null,      "expiresAt": null,      "durationTime": null,      "priceInCents": 185000,      "gracePeriodDays": 0,      "partnerSKU": null,      "createdAt": "2021-10-06T19:16:12.383Z",      "updatedAt": "2021-10-06T19:16:12.383Z",      "CourseClassType": null,      "CourseClassDuration": null,      "CourseClassAttendType": null,      "CourseClassModality": {        "id": 1,        "name": "online"      },      "CourseClassPeriod": {        "id": 2,        "name": "integral"      },      "CourseClassTime": null,      "Campus": null,      "Course": {        "id": 123,        "name": "Curso teste"      }    },    {      "id": 2,      "active": true,      "visible": true,      "name": "Turma teste 2",      "startsAt": null,      "endsAt": null,      "expiresAt": null,      "durationTime": 1,      "priceInCents": 185000,      "gracePeriodDays": 7,      "partnerSKU": null,      "createdAt": "2022-02-07T23:40:53.118Z",      "updatedAt": "2022-02-07T23:40:53.118Z",      "CourseClassType": {        "id": 2,        "name": "plano"      },      "CourseClassDuration": {        "id": 4,        "name": "ano(s)"      },      "CourseClassAttendType": {        "id": 2,        "name": "sob demanda"      },      "CourseClassModality": {        "id": 1,        "name": "online"      },      "CourseClassPeriod": null,      "CourseClassTime": null,      "Campus": null,      "Course": {        "id": 123,        "name": "Curso teste"      }    }  ]}

Alterar visibilidade do curso

Torna um curso visível ou invisível. Com `applyInCourseClasses: true`, a mudança também vale para as turmas: ao tornar o curso invisível, todas as turmas dele ficam invisíveis; ao torná-lo visível, só as turmas listadas em `CourseClassesIds` voltam a ficar visíveis.

Criar turma

Uma turma (variação de produto) tem várias combinações possíveis, com algumas regras. Sempre obrigatórios: `CourseId`, `name`, `visible`, `CourseClassTypeId`, `CourseClassModalityId` e `CourseClassAttendTypeId`. Os três últimos definem quais outros campos são necessários. **Tipo da turma** (`CourseClassTypeId`): - `1`, período fechado: informe `startsAt` e `endsAt`. - `2`, assinatura: informe a duração (`durationTime` e `CourseClassDurationId`). Para acesso vitalício (`CourseClassDurationId` 5), não envie `durationTime`. **Modalidade** (`CourseClassModalityId`): `1` remota, `2` presencial, `3` híbrida. **Forma de assistir** (`CourseClassAttendTypeId`): `1` ao vivo, `2` gravada, `3` as duas. Se houver aula presencial, informe o `CampusId` de um campus já cadastrado e o período (`CourseClassPeriodId`: `1` integral, `2` meio período). Em meio período, informe também o turno (`CourseClassTimeId`: `1` manhã, `2` tarde, `3` noite). Opcionais: - `priceInCents`: se não for enviado, vale o preço do curso. Se for, não pode passar do preço do curso nem ser menor que R$ 30,00 (3000 centavos). - `gracePeriodDays`: não pode ser menor que a carência do curso (ou do parceiro, se o curso não tiver). Se não for enviado, vale a do curso ou do parceiro. - `expiresAt`: data em que a turma fica invisível automaticamente. - `partnerSKU`: identificador da turma no seu sistema. Recomendamos enviar.