Certificados da turma
Certificados emitidos para os alunos de uma turma. Na tela Turmas, eles aparecem na aba Certificados do detalhe da turma, onde é possível gerar, enviar, armazenar, enviar para assinatura digital, editar e cancelar. Esta página descreve os endpoints dessa aba. Os caminhos abaixo começam por /operational/classes/{class_uuid}/certificates, em que {class_uuid} é o uuid da turma (veja a visão geral de turmas).
Endpoints
| Método | Caminho | Descrição |
|---|---|---|
| GET | /operational/classes/{class_uuid}/certificates | Lista os certificados da turma |
| PATCH | /operational/classes/{class_uuid}/certificates | Gera os certificados dos alunos aprovados da turma |
| PUT | /operational/classes/{class_uuid}/certificates/{id} | Altera os dados de acompanhamento de um certificado |
| DELETE | /operational/classes/{class_uuid}/certificates/{id} | Apaga um certificado |
| POST | /operational/classes/{class_uuid}/certificates/{id}/cancel | Cancela um certificado |
| GET | /operational/classes/{class_uuid}/certificates/contacts | Lista os contatos das empresas dos certificados informados |
| GET | /operational/classes/{class_uuid}/certificates/download-certificates | Baixa os certificados informados em um arquivo ZIP |
| GET | /operational/classes/{class_uuid}/certificates/generate-certificates | Gera o PDF dos certificados informados |
| GET | /operational/classes/{class_uuid}/certificates/generate-completion-cards | Gera o PDF das carteirinhas dos certificados informados |
O {id} das rotas de certificado é o id numérico do certificado, devolvido na listagem.
GET /operational/classes/{class_uuid}/certificates
Lista os certificados da turma. Só entram alunos com a situação Aprovado, em turmas concluídas. Por padrão, a lista traz também os certificados cancelados, que aparecem por último; use cancelled=0 para ver só os ativos.
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | texto | Busca em nome, celular ou documento do aluno, curso, empresa, números do certificado, protocolo, PAS e código da turma |
| student_name | texto | Nome do aluno (contém) |
| course_name | texto | Nome do curso (contém) |
| course_code | texto | Código do curso |
| class_code | texto | Código da turma |
| business_name | texto | Nome da empresa (contém) |
| protocol_number | texto | Número de protocolo (contém) |
| service_approval_proposal | texto | Proposta de aprovação de serviço, PAS (contém) |
| customer_vendor_student_id | número | Id do cadastro do aluno |
| customer_vendor_student_uuid | uuid | Uuid do cadastro do aluno |
| student_uuid | uuid | Uuid da matrícula do aluno |
| not_business | booleano | Só alunos sem empresa vinculada |
| id | número | Id do certificado |
| certificateIds | lista de números | Ids dos certificados |
| training_student_ids | lista de números | Ids das matrículas |
| cancelled | booleano (0 ou 1) | 0 mostra só os ativos; 1 mostra só os cancelados |
| external | booleano | Só cursos com certificação externa |
| with | booleano | Inclui os dados completos do aluno, da turma, do curso, da empresa, da matrícula e do arquivo |
| start_date_send, end_date_send | data | Período da data de envio |
| start_date_return, end_date_return | data | Período da data de retorno |
| start_date_delivery, end_date_delivery | data | Período da data de entrega do certificado |
| stored_certificate | booleano | true: com arquivo armazenado; false: sem arquivo |
| not_stored | booleano | true: só os certificados sem arquivo armazenado |
| digital_signature_status_id | número | Situação da assinatura digital do arquivo |
| column | texto | Nome da coluna para ordenar |
| order | texto | asc ou desc |
Também aceita per_page e page, conforme as convenções.
Resposta
Status 200. Sem per_page, a lista direta; com per_page, a resposta paginada. Cada certificado traz:
- dados do certificado:
id,certificate_number,card_number,external_certificate_number,protocol_number,service_approval_proposal,send_date,return_date,certificate_delivery_date,card_delivery_date,cancelled,cancel_reason,without_signature,status_id,observations; - dados do aluno, da empresa, do curso e da turma:
student_name,student_document,student_email,student_cellphone,business_name,course_name,course_code,class_code; status_name(situação do certificado),user_create_nameeuser_update_name;- o arquivo armazenado (quando houver) e a situação da assinatura digital do arquivo.
Exemplo
curl "https://api.pedagogo.app/operational/classes/<uuid-da-turma>/certificates?cancelled=0&per_page=15&page=1" \
-H "Accept: application/json" \
-H "Authorization: Bearer <token-de-sessao>"
PATCH /operational/classes/{class_uuid}/certificates
Gera os certificados dos alunos aprovados da turma. Corresponde à ação Gerar certificados da aba.
Regras
- A turma precisa estar Concluída. Em outra situação, nenhum certificado é criado e a resposta é a mesma.
- Somente alunos com a situação Aprovado recebem certificado. Cursos de grupos marcados como "não é curso" não recebem.
- Aluno que já tem certificado ativo não recebe outro. Se o aluno tem um certificado cancelado sem motivo registrado, esse certificado é reativado em vez de criar outro.
- A numeração é sequencial por empresa cliente.
- Para cada certificado novo, o aluno recebe o convite da pesquisa de satisfação ativa do tipo Estudante, quando houver. Veja Pesquisas de satisfação no manual de operacional.
Corpo
Não há corpo nesta chamada.
Resposta
Status 200, com o corpo null.
Exemplo
curl -X PATCH "https://api.pedagogo.app/operational/classes/<uuid-da-turma>/certificates" \
-H "Accept: application/json" \
-H "Authorization: Bearer <token-de-sessao>"
PUT /operational/classes/{class_uuid}/certificates/{id}
Altera os dados de acompanhamento de um certificado. Corresponde à ação Editar de cada certificado. Não é possível alterar um certificado cancelado.
Corpo
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| card_number | Não | texto | Número da carteirinha |
| external_certificate_number | Não | texto | Número do certificado emitido pelo certificador externo |
| protocol_number | Não | texto | Número de protocolo |
| service_approval_proposal | Não | texto | Proposta de aprovação de serviço (PAS) |
| send_date | Não | data | Data de envio ao certificador |
| return_date | Não | data | Data de retorno do certificador |
| certificate_delivery_date | Não | data | Data de entrega do certificado |
| card_delivery_date | Não | data | Data de entrega do cartão |
| observations | Não | texto | Observação |
Todos os campos são opcionais. Envie só os campos que quer alterar.
Resposta
- Status 200 com o certificado atualizado, com o vínculo
trainingStudent. - Se o certificado estiver cancelado, status 200 com a mensagem
Não é possível alterar um certificado cancelado.
A situação do certificado (status_id) é recalculada pelo sistema a partir das datas, nesta ordem: data de entrega do certificado, data de retorno e data de envio. Sem nenhuma delas, a situação fica vazia. Qualquer situação enviada no corpo é substituída.
Exemplo
curl -X PUT "https://api.pedagogo.app/operational/classes/<uuid-da-turma>/certificates/<id-do-certificado>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token-de-sessao>" \
-d '{"protocol_number": "PRT-000", "send_date": "2026-11-01"}'
DELETE /operational/classes/{class_uuid}/certificates/{id}
Apaga um certificado por exclusão lógica: o registro deixa de aparecer nas listagens.
Resposta
Status 200, sem corpo.
POST /operational/classes/{class_uuid}/certificates/{id}/cancel
Cancela um certificado. Corresponde à ação Cancelar de cada certificado.
Corpo
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| cancel_reason | Não | texto | Motivo do cancelamento |
Efeitos
- Marca o certificado como cancelado e grava o motivo informado.
- Remove o arquivo armazenado do certificado, se houver.
- Um certificado cancelado não pode mais ser alterado pelo endpoint de edição.
Resposta
Status 200 com o certificado cancelado.
Exemplo
curl -X POST "https://api.pedagogo.app/operational/classes/<uuid-da-turma>/certificates/<id-do-certificado>/cancel" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token-de-sessao>" \
-d '{"cancel_reason": "Dados do aluno corrigidos"}'
GET /operational/classes/{class_uuid}/certificates/contacts
Lista os contatos das empresas dos certificados informados, para o envio do certificado por e-mail. Só entram alunos vinculados a uma empresa.
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
| student_uuid | uuid | Uuid da matrícula do aluno |
| certificates_ids | lista de números | Ids dos certificados |
Resposta
Status 200, com uma lista. Cada item traz business_name, business_document, id (do contato), name, email, phonenumber e cellphone.
GET /operational/classes/{class_uuid}/certificates/download-certificates
Baixa os certificados informados em um único arquivo ZIP, com um PDF por certificado. Corresponde à ação Fazer download dos certificados. Certificados cancelados não entram.
Para cada certificado, se já houver arquivo armazenado, o arquivo armazenado é usado. Caso contrário, o PDF é gerado na hora.
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
| certificateIds | lista de números | Ids dos certificados |
| certificate_keys | lista de textos | Chaves dos certificados |
| external | booleano | Certificados de cursos com certificação externa |
Resposta
Status 200 com o arquivo ZIP para download.
GET /operational/classes/{class_uuid}/certificates/generate-certificates
Gera o PDF dos certificados informados. Corresponde à opção Certificado do menu Imprimir da aba.
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
| certificateIds | lista de números | Ids dos certificados |
| student_uuid | uuid | Uuid da matrícula do aluno |
| training_student_ids | lista de números | Ids das matrículas |
| customer_vendor_student_id | número | Id do cadastro do aluno |
| customer_vendor_student_uuid | uuid | Uuid do cadastro do aluno |
| forceRegenerate | booleano | true: gera de novo mesmo quando o certificado já tem arquivo armazenado |
Regras
- Com um único certificado que já tem arquivo armazenado, devolve esse arquivo.
- Com mais de um certificado, gera só os que ainda não têm arquivo armazenado, salvo com
forceRegenerate=true. - Se não houver certificado a gerar, a resposta é 404.
Resposta
Status 200 com o arquivo PDF para download.
GET /operational/classes/{class_uuid}/certificates/generate-completion-cards
Gera o PDF das carteirinhas dos certificados informados. Corresponde à opção Carteirinha do menu Imprimir da aba. Certificados cancelados não entram.
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
| certificateIds | lista de números | Ids dos certificados |
| student_uuid | uuid | Uuid da matrícula do aluno |
| training_student_ids | lista de números | Ids das matrículas |
| customer_vendor_student_uuid | uuid | Uuid do cadastro do aluno |
Resposta
Status 200 com o arquivo PDF para download.