Skip to content

Filtro

Endpoint para exportação de dados de fãs através de filtros pré-configurados.

📥 Collection Postman

Baixar Collection - Filter Export

URLs

MétodoURLAçãoDescrição
GET/api/filterListarLista todos os filtros disponíveis
GET/api/filter/{id}/exportExportarExporta cadastros a partir de um filtro
POST/api/filter/{id}/updateAtualizarAtualiza/processa um filtro

Produção:

{connect-producao}/api/filter

Homologação:

{connect-homologacao}/api/filter

Autenticação

Todas as requisições requerem um token de acesso obtido no endpoint de Security. O token deve ser enviado no header AccessToken.

AccessToken: {seu_token}

1. Listar Filtros

Lista todos os filtros disponíveis para o cliente.

Requisição

Endpoint: GET {connect-producao}/api/filter

Headers:

AccessToken: {access_token}

Resposta de Sucesso

Status: 200 OK

json
{
  "header": {
    "codigo": 1,
    "msg": "ok."
  },
  "data": [
    {
      "filterId": "123",
      "filterNome": "Sócios Ativos 2025"
    },
    {
      "filterId": "456",
      "filterNome": "Compradores E-commerce"
    }
  ]
}

2. Exportar Cadastros

Exporta os cadastros de fãs que correspondem aos critérios do filtro.

Requisição Básica

Endpoint: GET {connect-producao}/api/filter/{id}/export

Headers:

AccessToken: {access_token}

Parâmetros de Path:

ParâmetroTipoObrigatórioDescrição
idnumberSimID do filtro

Exemplo Básico

GET {connect-producao}/api/filter/123/export

Requisição Estendida (com Filtros Adicionais)

Para exportações mais específicas, você pode usar parâmetros de query adicionais.

Parâmetros de Query:

ParâmetroTipoObrigatórioDescrição
updatedFromdatetimeNãoFiltra apenas registros atualizados a partir desta data (ISO 8601)
exportAttributesstringNãoLista de atributos adicionais a exportar (separados por vírgula)

Exemplo Estendido

GET {connect-producao}/api/filter/123/export?updatedFrom=2025-12-26T12:00:00&exportAttributes=TipoDeTorcedor,TipoDeCadastro,face_biometrics

Exportação Incremental

Use o parâmetro updatedFrom para fazer exportações incrementais, buscando apenas os registros que foram atualizados desde a última sincronização.

Atributos Disponíveis para Exportação

Os atributos disponíveis dependem da configuração do seu cliente. Exemplos comuns:

AtributoDescrição
TipoDeTorcedorClassificação do tipo de torcedor
TipoDeCadastroOrigem ou tipo do cadastro
face_biometricsDados de biometria facial (se habilitado)
plano_socioInformações do plano de sócio

Atenção

Para saber quais atributos estão disponíveis para seu cliente, entre em contato com o suporte da Fanbase.

Resposta de Sucesso

Status: 200 OK

json
{
  "header": {
    "codigo": 1,
    "msg": "ok."
  },
  "data": {
    "total": 1000,
    "items": [
      {
        "userId": 123456,
        "cpf": "12345678900",
        "email": "usuario@exemplo.com",
        "nome": "João Silva",
        "telefone": "+5511999999999",
        "dataNascimento": "1990-08-15",
        "atributos": {
          "TipoDeTorcedor": "Sócio Premium",
          "TipoDeCadastro": "App",
          "face_biometrics": "validated"
        }
      },
      {
        "userId": 123457,
        "cpf": "98765432100",
        "email": "maria@exemplo.com",
        "nome": "Maria Santos",
        "telefone": "+5511888888888",
        "dataNascimento": "1985-03-20",
        "atributos": {
          "TipoDeTorcedor": "Torcedor Comum",
          "TipoDeCadastro": "Website"
        }
      }
    ]
  }
}

Campos da Resposta

CampoTipoDescrição
totalnumberTotal de registros no filtro
itemsarrayArray de usuários

Campos de cada Item

CampoTipoDescrição
userIdnumberID do usuário no Fanbase
cpfstringCPF do usuário
emailstringEmail do usuário
nomestringNome completo
telefonestringTelefone do usuário
dataNascimentostringData de nascimento (YYYY-MM-DD)
atributosobjectAtributos adicionais solicitados

3. Atualizar/Processar Filtro

Força a atualização ou reprocessamento de um filtro.

Requisição

Endpoint: POST {connect-producao}/api/filter/{id}/update

Headers:

AccessToken: {access_token}
Content-Type: application/json

Parâmetros de Path:

ParâmetroTipoObrigatórioDescrição
idnumberSimID do filtro

Exemplo

POST {connect-producao}/api/filter/123/update

Resposta de Sucesso

Status: 200 OK

json
{
  "header": {
    "codigo": 1,
    "msg": "Filtro atualizado com sucesso"
  }
}

Exemplo de Implementação

javascript
async function listarFiltros(accessToken) {
  const response = await fetch('{connect-producao}/api/filter', {
    method: 'GET',
    headers: {
      'AccessToken': accessToken
    }
  });

  if (!response.ok) {
    throw new Error(`Erro ${response.status}: ${response.statusText}`);
  }

  return await response.json();
}

async function exportarFiltro(filterId, options, accessToken) {
  const params = new URLSearchParams();
  
  if (options.updatedFrom) {
    params.append('updatedFrom', options.updatedFrom);
  }
  
  if (options.exportAttributes) {
    params.append('exportAttributes', options.exportAttributes.join(','));
  }

  const queryString = params.toString();
  const url = `{connect-producao}/api/filter/${filterId}/export${queryString ? '?' + queryString : ''}`;
  
  const response = await fetch(url, {
    method: 'GET',
    headers: {
      'AccessToken': accessToken
    }
  });

  if (!response.ok) {
    throw new Error(`Erro ${response.status}: ${response.statusText}`);
  }

  return await response.json();
}

async function atualizarFiltro(filterId, accessToken) {
  const response = await fetch(`{connect-producao}/api/filter/${filterId}/update`, {
    method: 'POST',
    headers: {
      'AccessToken': accessToken,
      'Content-Type': 'application/json'
    }
  });

  if (!response.ok) {
    throw new Error(`Erro ${response.status}: ${response.statusText}`);
  }

  return await response.json();
}

// Exemplo de uso - Exportação completa
const filtros = await listarFiltros(accessToken);
console.log('Filtros disponíveis:', filtros.data);

// Exportação básica
const dadosBasicos = await exportarFiltro(123, {}, accessToken);

// Exportação com atributos e filtro de data
const dadosEstendidos = await exportarFiltro(123, {
  updatedFrom: '2025-12-26T12:00:00',
  exportAttributes: ['TipoDeTorcedor', 'TipoDeCadastro', 'face_biometrics']
}, accessToken);

Fluxo Recomendado

  1. Listar filtros disponíveis para identificar o ID desejado
  2. Exportar dados do filtro (com ou sem parâmetros adicionais)
  3. Atualizar filtro se necessário reprocessar os dados

Sincronização Incremental

Para manter seus dados sincronizados de forma eficiente:

  1. Faça uma exportação completa inicial
  2. Armazene a data/hora da exportação
  3. Nas próximas sincronizações, use updatedFrom com a data da última exportação

Documentação da API Fanbase