Listar Informadores
Lista todos os informadores cadastrados no sistema
Descrição
Lista todos os usuários com role de informador cadastrados no sistema com paginação e filtros por grupo, diocese e busca por nome.
- Retorna apenas usuários com role de "informador"
- Suporte a paginação com parâmetros page e per_page
- Filtros por group_id, diocese_id, type_group e busca por nome
- Retorna dados do usuário com role aninhada
- Iniciais geradas automaticamente ignorando artigos e preposições
- Requer autenticação JWT válida
- Colaborador sem vínculo ao processo (quando filtrar por
group_idouprocess_id): HTTP403
Detalhes do Endpoint
VERBO
URL BASE
ENDPOINT
Parâmetros de Query
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| page | integer | Não | Número da página (padrão: 1) |
| per_page | integer | Não | Itens por página (padrão: 12) |
| group_id | string (UUID) | Não | Filtrar por ID do grupo |
| diocese_id | integer | Não | Filtrar por ID da diocese |
| category_id | integer | Não | Filtrar por ID da categoria |
| type_group | string | Não | Filtrar por grupo de pronome: "cardeais", "dom", "padres", "leigos" ou "todos" |
| search | string | Não | Buscar por nome, sobrenome, email ou nome completo do informador |
Cabeçalhos
| Parâmetro | Valor |
|---|---|
| Authorization | Bearer <token> |
| Accept | application/json |
Exemplo de Requisição
GET /api/informers?page=1&per_page=12&type_group=padres&search=João
Authorization: Bearer <token>
Accept: application/json
Respostas
Sucesso - 200
{
"success": true,
"data": [
{
"id": "uuid-user",
"first_name": "João",
"last_name": "da Silva",
"email": "joao@example.com",
"email_verified": true,
"email_verified_at": "2025-10-29T09:15:30.000000Z",
"blacklisted": false,
"role": {
"id": 2,
"name": "Informador",
"slug": "informador",
"description": "Usuário informador com acesso limitado aos questionários"
},
"cpf": "12345678901",
"phone": "(11) 99999-9999",
"category": {
"id": 5,
"name": "Consultor diocesano",
"description": "Descrição",
"active": true
},
"religious_institution_abbreviation": "OFM",
"other_function": null,
"treatment_pronoun": {
"id": 1,
"name": "Pe.",
"description": "Padre",
"active": true
},
"diocese": {
"id": 10,
"name": "Diocese Y",
"state": "SP",
"active": true
},
"process": {
"id": "uuid-processo",
"name": "Provisão Diocese X",
"protocol": "PROV-2025-001"
},
"group": {
"id": "uuid-grupo",
"name": "Grupo 1",
"color": "#845ADF",
"description": "Descrição do grupo"
},
"groups_processes": [
{
"group": {
"id": "uuid-grupo-1",
"name": "Grupo 1",
"color": "#845ADF",
"description": "Descrição do grupo"
},
"process": {
"id": "uuid-processo-1",
"name": "Provisão Diocese X",
"protocol": "PROV-2025-001"
},
"created_at": "2025-10-27T10:00:00.000000Z",
"has_responded": true,
"questionnaire_status": "Em andamento",
"questionnaire_response_label": "Respondido Q1"
},
{
"group": {
"id": "uuid-grupo-2",
"name": "Grupo 2",
"color": "#23B7E5",
"description": "Descrição do grupo"
},
"process": {
"id": "uuid-processo-2",
"name": "Provisão Diocese Y",
"protocol": "PROV-2025-002"
},
"created_at": "2025-10-28T10:00:00.000000Z",
"has_responded": false,
"questionnaire_status": "Pendente",
"questionnaire_response_label": null
}
],
"has_responded": true,
"questionnaire_status": "Em andamento",
"questionnaire_response_label": null,
"created_at": "2025-10-27T10:00:00.000000Z",
"updated_at": "2025-10-29T10:00:00.000000Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 12,
"total": 1,
"last_page": 1,
"from": 1,
"to": 1,
"has_more_pages": false
}
}
Nota: A resposta inclui os campos email_verified (booleano) e email_verified_at (data) para indicar se o email do informador está verificado, além de metadados de paginação e o campo blacklisted. Quando o informador está em múltiplos grupos/processos, cada item de groups_processes traz has_responded, questionnaire_status e questionnaire_response_label para exibir badges de notificação por vínculo. Os campos de nível do informador permanecem como resumo agregado para compatibilidade.
Erro - 401 (Token inválido)
{
"success": false,
"message": "Token inválido"
}
Condição: Token JWT inválido, expirado ou não fornecido
Erro - 403 (Sem permissão no processo)
{
"success": false,
"message": "Acesso negado. Você não tem permissão para acompanhar este processo.",
"errors": []
}
Condição: Usuário colaborador sem vínculo em process_colaborador para o processo informado (ou resolvido via group_id)
Códigos de Resposta
| Código | Descrição |
|---|---|
| 200 | Lista de informadores retornada com sucesso |
| 401 | Token inválido ou expirado |
| 403 | Colaborador sem permissão de acompanhamento no processo |