App local (Node + SQLite) para captura, tratamento e exportacao de leads comerciais, com dashboard de gestao, login/usuarios e integracao Z-PRO. Co-Authored-By: Claude <noreply@anthropic.com>
50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
import { buildLeadFromPlace } from './common.mjs';
|
|
|
|
// Fonte mock: 3 leads ficticios para testar o fluxo completo (captura ->
|
|
// banco -> tratamento -> exportacao) sem tocar em nenhuma API externa.
|
|
const MOCK_PLACES = [
|
|
{
|
|
name: 'Mercado Central SAJ',
|
|
phone: '(75) 99999-0001',
|
|
city: 'Santo Antonio de Jesus',
|
|
state: 'BA',
|
|
segment: 'mercados_de_bairro',
|
|
website: 'https://mercadocentral.example'
|
|
},
|
|
{
|
|
name: 'Clinica Vida Plena',
|
|
phone: '(75) 99999-0002',
|
|
city: 'Santo Antonio de Jesus',
|
|
state: 'BA',
|
|
segment: 'clinicas_medicas',
|
|
website: ''
|
|
},
|
|
{
|
|
name: 'Restaurante Sabor da Terra',
|
|
phone: '(75) 99999-0003',
|
|
city: 'Santo Antonio de Jesus',
|
|
state: 'BA',
|
|
segment: 'restaurantes',
|
|
website: ''
|
|
}
|
|
];
|
|
|
|
export async function* collect(params, ctx) {
|
|
const segments = params.segments || [];
|
|
const leads = MOCK_PLACES.map((place) => {
|
|
const segment = segments.find((item) => item.name === place.segment)
|
|
|| segments[0]
|
|
|| { name: place.segment, interest: 'ERP / sistema de gestao', pains: [] };
|
|
return buildLeadFromPlace(
|
|
{ ...place, query: `mock ${place.segment}` },
|
|
segment,
|
|
place.city,
|
|
place.state,
|
|
'mock'
|
|
);
|
|
});
|
|
|
|
ctx.emit({ phase: 'mock', message: `${leads.length} leads de teste gerados` });
|
|
yield { origin: 'mock', label: 'mock', leads };
|
|
}
|