> For the complete documentation index, see [llms.txt](https://outboundpro.gitbook.io/api-v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://outboundpro.gitbook.io/api-v1/lead-enrich-batch/resultados-do-job.md).

# Resultados do job

## Resultados detalhados de um job (lead por lead)

> Retorna a lista paginada de leads que foram processados em um job de\
> enriquecimento em massa. Use \*\*depois\*\* que o job estiver em status \`C\` (concluído).\
> \
> Pra cada lead, mostra:\
> \- CNPJ + razão social + nome fantasia\
> \- Se Webfinder achou dados externos (site, redes sociais)\
> \- Se Snov.io enriqueceu (quando habilitado nas options do \`/create\`)\
> \
> Pra puxar os dados completos (telefones, e-mails, sócios) de cada lead específico,\
> combine com \`/lead/detail?id=N\` pra cada item retornado.\
> \
> \### Quando usar\
> \- \*\*Sincronização com CRM\*\*: após webhook avisar conclusão, busca os results e\
> &#x20; atualiza cada registro no CRM externo (Salesforce, Pipedrive, HubSpot).\
> \- \*\*Relatório executivo\*\*: mostra ao gestor "quais empresas foram enriquecidas e\
> &#x20; o que veio de novo" na rodada de prospecção.\
> \- \*\*Filtragem pós-processamento\*\*: lista todos os leads do job pra aplicar regras\
> &#x20; de negócio do cliente (ex.: "só importa pro CRM os que têm CNAE X").\
> \
> \### Quando NÃO usar\
> \- \*\*Antes do job terminar\*\* — retornar parcial não tem garantia de ordem nem completude.\
> &#x20; Espera \`status=C\` em \`/get\`.\
> \- \*\*Pra um lead específico\*\* — use \`/lead/detail?id=N\` direto, mais rápido.\
> \
> \### Casos de uso reais\
> \- \*\*PX → Salesforce\*\*: webhook chega → Apex chama \`/results\` → pra cada item, faz\
> &#x20; UPSERT na lista de oportunidades + cria task de follow-up pra equipe comercial.\
> \- \*\*N8N/Make automation\*\*: webhook dispara workflow → "loop sobre results" →\
> &#x20; envia cada lead pra Google Sheets + CRM + Slack.\
> \- \*\*BI/Data warehouse\*\*: cron noturno percorre jobs concluídos do dia, baixa\
> &#x20; results em CSV pra um S3, ETL diário no dashboard de prospecção.\
> \
> Resposta inclui dados do job (status, datas, créditos) \*\*e\*\* array de results\
> paginados — o \`paginas\` indica total de páginas pra iterar.<br>

```json
{"openapi":"3.0.3","info":{"title":"OutboundPro API","version":"2.0.0"},"tags":[{"name":"Lead","description":"**Empresas já existentes na sua base** (após enriquecimento via\n[Company](#tag/Company) ou cadastro manual no painel).\n\nO termo \"Lead\" no OutboundPro = \"empresa rastreada por você\". Cada lead tem\nstatus (Novo, Em prospecção, Convertido, etc.), lista vinculada, scoring\nautomático e contatos (sócios) associados.\n\n### Diferença Company × Lead\n- **Company** = empresa pelo CNPJ; consulta a base pública (RFB) do OutboundPro e pode salvar como lead.\n- **Lead** = consulta sua base local; **rápido**, sem lookup externo.\n\nSe você sabe que a empresa já está na sua base, prefira `lead/*` por\nperformance.\n\n### Estrutura típica\n- `id` (`emp_codigo`) ou `hash` (`emp_hash`) — identificadores estáveis.\n- `status` — fluxo configurável por cliente ([Status](#tag/Status)).\n- `lista` — agrupamento ([List](#tag/List)).\n- `contatos` — sócios ([Contact](#tag/Contact)).\n"}],"servers":[{"url":"https://app.outboundpro.com.br/api","description":"Produção"}],"security":[{"TokenAuth":[]}],"components":{"securitySchemes":{"TokenAuth":{"type":"apiKey","in":"header","name":"Token","description":"Chave privada do cliente (`cli_chave_privada`). Formato UUID v4\n(36 caracteres com hífens). Aceita header em qualquer case\n(`Token`, `token`, `TOKEN`).\n"}},"responses":{"Unauthorized":{"description":"Token ausente, inválido ou cliente inativo.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Recurso não encontrado. Pode ser por:\n- ID inexistente.\n- ID existe **em outro cliente** (isolamento de tenant retorna 404, não 403).\n- Recurso foi deletado/soft-deleted.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","required":["response"],"properties":{"response":{"type":"string","enum":["error"]},"mensagem":{"type":"string","description":"Descrição do erro em pt-BR. Família Contact usa `message` (legado)."},"message":{"type":"string","description":"Equivalente inglês de `mensagem`, usado pela família Contact."}}}}},"paths":{"/lead-enrich-batch/results":{"get":{"tags":["Lead"],"summary":"Resultados detalhados de um job (lead por lead)","operationId":"leadEnrichBatchResults","description":"Retorna a lista paginada de leads que foram processados em um job de\nenriquecimento em massa. Use **depois** que o job estiver em status `C` (concluído).\n\nPra cada lead, mostra:\n- CNPJ + razão social + nome fantasia\n- Se Webfinder achou dados externos (site, redes sociais)\n- Se Snov.io enriqueceu (quando habilitado nas options do `/create`)\n\nPra puxar os dados completos (telefones, e-mails, sócios) de cada lead específico,\ncombine com `/lead/detail?id=N` pra cada item retornado.\n\n### Quando usar\n- **Sincronização com CRM**: após webhook avisar conclusão, busca os results e\n  atualiza cada registro no CRM externo (Salesforce, Pipedrive, HubSpot).\n- **Relatório executivo**: mostra ao gestor \"quais empresas foram enriquecidas e\n  o que veio de novo\" na rodada de prospecção.\n- **Filtragem pós-processamento**: lista todos os leads do job pra aplicar regras\n  de negócio do cliente (ex.: \"só importa pro CRM os que têm CNAE X\").\n\n### Quando NÃO usar\n- **Antes do job terminar** — retornar parcial não tem garantia de ordem nem completude.\n  Espera `status=C` em `/get`.\n- **Pra um lead específico** — use `/lead/detail?id=N` direto, mais rápido.\n\n### Casos de uso reais\n- **PX → Salesforce**: webhook chega → Apex chama `/results` → pra cada item, faz\n  UPSERT na lista de oportunidades + cria task de follow-up pra equipe comercial.\n- **N8N/Make automation**: webhook dispara workflow → \"loop sobre results\" →\n  envia cada lead pra Google Sheets + CRM + Slack.\n- **BI/Data warehouse**: cron noturno percorre jobs concluídos do dia, baixa\n  results em CSV pra um S3, ETL diário no dashboard de prospecção.\n\nResposta inclui dados do job (status, datas, créditos) **e** array de results\npaginados — o `paginas` indica total de páginas pra iterar.\n","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"integer"},"description":"ID do job (retornado por /create)."},{"in":"query","name":"pagina","schema":{"type":"integer","default":1},"description":"Página (1-based)."},{"in":"query","name":"limite","schema":{"type":"integer","default":50,"maximum":100},"description":"Itens por página (cap 100)."}],"responses":{"200":{"description":"Lista de leads processados.","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"string","enum":["success"]},"job":{"type":"object"},"total":{"type":"integer"},"pagina":{"type":"integer"},"limite":{"type":"integer"},"paginas":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"lead_id":{"type":"integer"},"cnpj":{"type":"string"},"razao_social":{"type":"string"},"nome_fantasia":{"type":"string"},"webfinder_ok":{"type":"boolean"},"snovio_ok":{"type":"boolean"}}}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}}}}
```
