Nunciatura Provista

API Documentation V1

Listar Informadores

Lista todos os informadores cadastrados no sistema

Este endpoint é do tipo: Protected

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_id ou process_id): HTTP 403

Detalhes do Endpoint

VERBO

GET

URL BASE

https://api.provisao.dev.nabrasil.org.br/v1

ENDPOINT

/informers

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