Duas funcionalidades em um endpoint:
1. Modo Contagem (export: false)
- Retorna quantidade total de pessoas que correspondem aos filtros
- Não consome créditos
- Resposta:
{"count": 1500}
2. Modo Prospecção (export: true)
- Cria job de prospecção com filtros especificados
nameequantitypassam a ser obrigatórios (nameé o nome dado ao job;quantityé o volume a exportar). Faltando qualquer um dos dois a API respondethe quantity, name and some location are required fields when export is True.- Resposta:
{"id": 12345}- use esseidem/prospection/{job_id}/result/
Filtro de localização obrigatório em TODA chamada: vale também para a contagem (export=false), não só para o export. É preciso enviar pelo menos um entre cities, states, ddds, neighborhoodies ou geo_points. Sem nenhum deles a API responde You must select at least one locale filter.
Atenção ao geo_points: ele satisfaz essa exigência, mas não é aplicado ao resultado neste endpoint (ver a descrição do campo). Usá-lo sozinho retorna/exporta a base sem recorte geográfico — prefira cities, states, ddds ou neighborhoodies.
Nome da pessoa (aceita busca parcial). Obrigatório quando export=true (junto com quantity), pois é usado como nome do job de prospecção; opcional em export=false.
Bairros, no formato "BAIRRO - CIDADE - UF" (três partes separadas por -). Fora desse formato a API responde The format sent is not valid.. Ex.: CENTRO - SÃO PAULO - SP.
O nome do parâmetro tem mesmo esse typo (neighborhoodies) - é o que a API aceita e o que ela enumera na mensagem de erro dos filtros de localização. neighborhoods não é reconhecido.
Inconsistência conhecida: a exclusão de bairros usa a grafia correta (exclude_neighborhoods), enquanto a inclusão usa neighborhoodies.
[ "CENTRO - SÃO PAULO - SP", "JARDINS - SÃO PAULO - SP" ]
Recorte geográfico. É um objeto único (não um array), com type e data. Três formas são aceitas:
- circle —
{"type": "circle", "data": {"radius": 5000, "center": {"lat": -23.5, "lng": -46.6}}}(radiusem metros) - rectangle —
{"type": "rectangle", "data": {"north": -23.4, "south": -23.7, "east": -46.5, "west": -46.8}} - polygon —
{"type": "polygon", "data": [{"lat": -23.5, "lng": -46.6}, {"lat": -23.6, "lng": -46.7}]}
A longitude é lng (não lon).
AVISO: atualmente geo_points satisfaz a exigência de filtro de localização mas NÃO é aplicado ao resultado nos endpoints de prospecção. Enviá-lo sozinho faz a contagem/exportação rodar sem nenhum recorte geográfico (ou seja, sobre a base inteira). Até que isso seja corrigido, use cities, states, ddds ou neighborhoodies.
{ "type": "circle", "data": { "radius": 5000, "center": { … } } }
Faixas de renda estimada
[ { "lower": "1000.00", "upper": "500000.00" } ]
Canais de contato disponíveis
[ "email", "whatsapp" ]
Códigos dos perfis predefinidos - usar campo "code" do endpoint /persons/prospect/profile
[ "PF1" ]
Quantidade de registros a exportar. Obrigatório quando export=true (junto com name); ignorado em export=false.
Email para notificação quando job concluir (apenas quando export=true)
- Mock serverhttps://docs.datastone.com.br/_mock/api/persons/prospect/
- https://api.datastone.com.br/v1https://api.datastone.com.br/v1/persons/prospect/
curl -i -X POST \
https://docs.datastone.com.br/_mock/api/persons/prospect/ \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"export": false,
"name": "MARIA",
"cities": [
"São Paulo - SP"
],
"states": [
"SP"
],
"ddds": [
"11",
"21"
],
"neighborhoodies": [
"CENTRO - SÃO PAULO - SP",
"JARDINS - SÃO PAULO - SP"
],
"geo_points": {
"type": "circle",
"data": {
"radius": 5000,
"center": {
"lat": -23.5,
"lng": -46.6
}
}
},
"cbo_codes": [
"252105",
"212305"
],
"gender": "M",
"estimated_income": [
{
"lower": "1000.00",
"upper": "500000.00"
}
],
"birthday": {
"start_date": "1980-01-01",
"end_date": "1990-12-31"
},
"age": {
"lower": "18",
"upper": "90"
},
"contact_channels": [
"email",
"whatsapp"
],
"match_profile": [
"PF1"
],
"quantity": 1000,
"callback_email": "usuario@empresa.com",
"plan": "3",
"file_formatting": "excel"
}'- object
- object (2)
{ "count": 1500 }