Filtro
Endpoint para exportação de dados de fãs através de filtros pré-configurados.
📥 Collection Postman
URLs
| Método | URL | Ação | Descrição |
|---|---|---|---|
| GET | /api/filter | Listar | Lista todos os filtros disponíveis |
| GET | /api/filter/{id}/export | Exportar | Exporta cadastros a partir de um filtro |
| POST | /api/filter/{id}/update | Atualizar | Atualiza/processa um filtro |
Produção:
{connect-producao}/api/filterHomologação:
{connect-homologacao}/api/filterAutenticaçã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
{
"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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | Sim | ID do filtro |
Exemplo Básico
GET {connect-producao}/api/filter/123/exportRequisição Estendida (com Filtros Adicionais)
Para exportações mais específicas, você pode usar parâmetros de query adicionais.
Parâmetros de Query:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
updatedFrom | datetime | Não | Filtra apenas registros atualizados a partir desta data (ISO 8601) |
exportAttributes | string | Não | Lista 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_biometricsExportaçã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:
| Atributo | Descrição |
|---|---|
TipoDeTorcedor | Classificação do tipo de torcedor |
TipoDeCadastro | Origem ou tipo do cadastro |
face_biometrics | Dados de biometria facial (se habilitado) |
plano_socio | Informaçõ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
{
"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
| Campo | Tipo | Descrição |
|---|---|---|
total | number | Total de registros no filtro |
items | array | Array de usuários |
Campos de cada Item
| Campo | Tipo | Descrição |
|---|---|---|
userId | number | ID do usuário no Fanbase |
cpf | string | CPF do usuário |
email | string | Email do usuário |
nome | string | Nome completo |
telefone | string | Telefone do usuário |
dataNascimento | string | Data de nascimento (YYYY-MM-DD) |
atributos | object | Atributos 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/jsonParâmetros de Path:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | Sim | ID do filtro |
Exemplo
POST {connect-producao}/api/filter/123/updateResposta de Sucesso
Status: 200 OK
{
"header": {
"codigo": 1,
"msg": "Filtro atualizado com sucesso"
}
}Exemplo de Implementação
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
- Listar filtros disponíveis para identificar o ID desejado
- Exportar dados do filtro (com ou sem parâmetros adicionais)
- Atualizar filtro se necessário reprocessar os dados
Sincronização Incremental
Para manter seus dados sincronizados de forma eficiente:
- Faça uma exportação completa inicial
- Armazene a data/hora da exportação
- Nas próximas sincronizações, use
updatedFromcom a data da última exportação
