> 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/enfileirar-job.md).

# Enfileirar job

## Enfileirar processamento em massa (status A; cron processa)

> Cria job assíncrono na fila. Cron de processamento (a cada 1 min) pega\
> e processa: consulta sócios, valida WhatsApp, opcional Snov.io, salva\
> contatos conforme \`salvar\_dados\_socios\`.\
> \
> \### Filtros padrão (importante)\
> \
> Se você passar \`filtros{}\` sem \`status\_id\`, aplicamos automaticamente\
> \`status\_id=1\` (status "Enriquecer" — mesmo default do painel quando você\
> entra sem filtro). \*\*Isso é proteção\*\* contra disparar enriquecimento\
> acidental de toda a base de leads do cliente.\
> \
> Pra opt-out explícito (raro — você quer mesmo pegar todos os leads ativos):\
> \
> \`\`\`json\
> { "filtros": { "\_sem\_defaults": true }, ... }\
> \`\`\`\
> \
> \`lead\_ids\[]\` explícito não aplica defaults.\
> \
> \### Webhook\
> Se \`webhook\_url\` for informado (HTTPS público obrigatório — IPs privados,\
> loopback e metadata cloud são bloqueados), você recebe notificação ao\
> terminar (evento \`enrich-batch.completed\` ou \`.failed\`).\
> \
> Se não informar, usa o webhook global do cliente (Configurações).\
> \
> \### Assinatura HMAC\
> Toda entrega vem com \`X-OutboundPro-Signature: sha256=\<HMAC SHA256 do body>\`\
> usando o secret do cliente. Verifique no seu lado.<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":{"BadRequest":{"description":"Parâmetro obrigatório ausente ou em formato inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Token ausente, inválido ou cliente inativo.","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/create":{"post":{"tags":["Lead"],"summary":"Enfileirar processamento em massa (status A; cron processa)","operationId":"leadEnrichBatchCreate","description":"Cria job assíncrono na fila. Cron de processamento (a cada 1 min) pega\ne processa: consulta sócios, valida WhatsApp, opcional Snov.io, salva\ncontatos conforme `salvar_dados_socios`.\n\n### Filtros padrão (importante)\n\nSe você passar `filtros{}` sem `status_id`, aplicamos automaticamente\n`status_id=1` (status \"Enriquecer\" — mesmo default do painel quando você\nentra sem filtro). **Isso é proteção** contra disparar enriquecimento\nacidental de toda a base de leads do cliente.\n\nPra opt-out explícito (raro — você quer mesmo pegar todos os leads ativos):\n\n```json\n{ \"filtros\": { \"_sem_defaults\": true }, ... }\n```\n\n`lead_ids[]` explícito não aplica defaults.\n\n### Webhook\nSe `webhook_url` for informado (HTTPS público obrigatório — IPs privados,\nloopback e metadata cloud são bloqueados), você recebe notificação ao\nterminar (evento `enrich-batch.completed` ou `.failed`).\n\nSe não informar, usa o webhook global do cliente (Configurações).\n\n### Assinatura HMAC\nToda entrega vem com `X-OutboundPro-Signature: sha256=<HMAC SHA256 do body>`\nusando o secret do cliente. Verifique no seu lado.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lead_ids":{"type":"array","items":{"type":"integer"}},"filtros":{"type":"object","additionalProperties":true},"options":{"type":"object","properties":{"consultar_socios":{"type":"boolean"},"salvar_dados_socios":{"type":"string"},"qualificacoes_socios":{"type":"array","items":{"type":"string"}},"consultar_socios_whatsapp":{"type":"boolean"},"consultar_snovio":{"type":"boolean"}}},"webhook_url":{"type":"string","format":"uri","description":"HTTPS público. Override do webhook global do cliente."}}}}}},"responses":{"201":{"description":"Job enfileirado.","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"string","enum":["success"]},"job_id":{"type":"integer"},"status":{"type":"string","enum":["A"]},"filtros_aplicados":{"type":"object"},"simulacao":{"type":"object"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"}}}}}}
````
