Agenda
A agenda mostra as turmas de um período organizadas por sala e permite definir em qual sala cada turma acontece. Os endpoints desta página correspondem à tela Agenda do módulo Operacional. A sala é um local de treinamento: os locais são listados e cadastrados em Locais de treinamento (veja Locais de treinamento).
Regras
- Uma turma entra na lista do período quando a data de início ou a data de
término cai entre
start_dateeend_date, inclusive. - Sem
location_id, a listagem de turmas traz apenas as turmas sem sala. É o bloco Sem sala classificada da tela. - A agenda não bloqueia duas turmas na mesma sala no mesmo horário. A API também não faz essa verificação ao definir a sala.
Endpoints
| Método | Caminho | Descrição |
|---|---|---|
| GET | /operational/schedule/classes | Lista as turmas do período, com a sala de cada uma |
| PUT | /operational/schedule/classes/{uuid} | Define a sala de uma turma |
| GET | /operational/schedule/classrooms | Lista os locais que têm turma no período |
| GET | /operational/schedule/locations | Lista os locais de treinamento (mesma listagem de Locais de treinamento) |
GET /operational/schedule/classes
Lista as turmas do período.
Parâmetros de URL
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
| start_date | Sim | Data inicial do período, no formato AAAA-MM-DD |
| end_date | Sim | Data final do período, no formato AAAA-MM-DD |
| location_id | Não | id numérico do local. Sem ele, a lista traz só as turmas sem sala |
| company_id | Não | id numérico da empresa da turma |
| status_id | Não | id numérico da situação da turma |
| course_id | Não | id numérico do curso |
| column | Não | Coluna para ordenar a lista |
| order | Não | Direção da ordenação: asc ou desc. A ordenação só é aplicada se column também for enviado |
| per_page | Não | Quantidade de registros por página. Veja Convenções |
| page | Não | Número da página, quando per_page for informado |
Resposta
Status 200. Sem per_page, a resposta é uma lista de turmas. Com per_page, a
resposta é paginada. Cada turma traz, entre outros campos, uuid, code,
company_name, modality, period, start_date, end_date, daily_workload,
vacancies, location_id, location_name, status_id, status,
total_students, user_create_name e user_update_name.
curl "https://api.pedagogo.app/operational/schedule/classes?start_date=2026-11-09&end_date=2026-11-15&location_id=12" \
-H "Accept: application/json" \
-H "Authorization: Bearer <token-de-sessao>"
PUT /operational/schedule/classes/{uuid}
Define a sala (local de treinamento) da turma. Só o campo location_id é gravado
nesta chamada.
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| uuid | uuid da turma |
Corpo
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| location_id | Sim | Inteiro | id numérico do local de treinamento. Não é o uuid do local |
Resposta
Status 200, com a turma atualizada e o location_id novo.
curl -X PUT "https://api.pedagogo.app/operational/schedule/classes/3f1c0b6e-8a2d-4c57-9b1e-2d7a5f0e6a11" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token-de-sessao>" \
-d '{"location_id": 12}'
GET /operational/schedule/classrooms
Lista os locais de treinamento que têm turma no período. Um local sem turma entre
start_date e end_date não aparece na lista. Cada bloco da agenda corresponde a
um local desta lista.
Parâmetros de URL
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
| start_date | Sim | Data inicial do período, no formato AAAA-MM-DD |
| end_date | Sim | Data final do período, no formato AAAA-MM-DD |
| search | Não | Texto buscado no nome do local |
| customer_vendor_id | Não | id numérico do fornecedor vinculado ao local |
| column | Não | Coluna para ordenar a lista |
| order | Não | Direção da ordenação: asc ou desc |
| per_page | Não | Quantidade de registros por página |
| page | Não | Número da página, quando per_page for informado |
Resposta
Status 200. Lista de locais, com os mesmos campos de Locais de treinamento.
GET /operational/schedule/locations
Lista os locais de treinamento. Usa a mesma listagem e os mesmos parâmetros de
GET /operational/training-locations, descrita em
Locais de treinamento. Use o campo id de cada
local como location_id.