@reachy/audience-module
v1.0.10
Published
Módulo reutilizável para consultas e criação de audiences
Readme
@reachy/audience-module
Módulo reutilizável para consultas e criação de audiences em múltiplos projetos Reachy.
🚀 Instalação
npm install @reachy/audience-module📋 Uso Básico
import { AudienceModule } from '@reachy/audience-module'
import { ContactRepository } from './repositories/contactRepository'
import { AudienceRepository } from './repositories/audienceRepository'
// Criar instância do módulo
const audienceModule = new AudienceModule({
enableDebugLogs: true
})
// Configurar repositórios necessários
audienceModule.setRepositories({
contactRepository: new ContactRepository(),
audienceRepository: new AudienceRepository()
})
// Executar query de audiência
const result = await audienceModule.executeQuery(
{
filters: [
{
id: '1',
operator: 'AND',
conditions: [
{ field: 'city', operator: 'equals', value: 'São Paulo' },
{ field: 'opted_in', operator: 'equals', value: true }
]
}
]
},
{
organizationId: 'org-123',
projectId: 'proj-456',
pagination: { page: 1, limit: 50 }
}
)
console.log(`Encontrados ${result.count} contatos`)🔧 Features
- ✅ Suporte a múltiplos formatos de critérios
- ✅ Query builder otimizado
- ✅ Execução de audiences estáticas e live
- ✅ Validação de critérios
- ✅ Type-safe com TypeScript
- ✅ Fácil integração com Supabase
📖 API
AudienceModule
executeQuery(criteria, options)
Executa uma query de audiência e retorna os resultados.
getContactCount(criteria, options)
Retorna apenas a contagem de contatos (mais rápido).
getContactIds(criteria, organizationId, projectId)
Retorna apenas os IDs dos contatos.
validateCriteria(criteria)
Valida se os critérios são válidos.
📦 Build
npm run build🔗 Links
📄 License
MIT
