Skip to main content
O escopo enrichment envia eventos do fluxo de enriquecimento em massa, desde a criação até a conclusão ou falha. Use este webhook para acompanhar upload, análise do arquivo, fila, processamento, progresso final e disponibilidade de saídas.

Visão geral de webhooks

Consulte o contrato base, headers, assinatura e recomendações gerais de entrega.

Eventos disponíveis

EventoQuando é enviado
enrichment.createdEnriquecimento criado e aguardando upload.
enrichment.file_uploadedArquivo enviado e recebido pela Lazy Data.
enrichment.file_readyArquivo analisado e pronto para configuração.
enrichment.queuedEnriquecimento enviado para a fila.
enrichment.processingProcessamento iniciado.
enrichment.completedProcessamento finalizado.
enrichment.failedEnriquecimento falhou.
Se o processamento terminar com falhas parciais, o evento continua sendo enrichment.completed. O status real aparece em data.enrichment.status.

Payload base

Exemplo de enriquecimento concluído:
{
  "id": "evt_fa7d5f6d-9d85-40d3-945f-2124c31e00f1",
  "event": "enrichment.completed",
  "scope": "enrichment",
  "created_at": "2026-06-23T12:05:00Z",
  "data": {
    "enrichment": {
      "id": "enr_9fcb573b",
      "type": "pf",
      "name": "Base de clientes",
      "status": "completed",
      "file": {
        "id": "file_9fcb573b",
        "name": "clientes.csv",
        "extension": "csv",
        "content_type": "text/csv",
        "size": 73422,
        "uploaded_at": "2026-06-23T12:00:00Z",
        "total_rows": 1000
      },
      "progress": {
        "stage": "completed",
        "percent": 100,
        "total_rows": 1000,
        "processed_rows": 1000,
        "enriched_documents": 940,
        "invalid_documents": 10,
        "not_found_documents": 40,
        "failed_rows": 10
      },
      "cost": {
        "estimated": 10,
        "reserved": 10,
        "consumed": 9.4,
        "refunded": 0.6
      },
      "outputs": {
        "success": {
          "available": true,
          "rows": 940,
          "size": 41280
        }
      },
      "created_at": "2026-06-23T11:59:30Z",
      "last_updated_at": "2026-06-23T12:05:00Z"
    }
  }
}

Campos de data.enrichment

CampoTipoDescrição
idstringID do enriquecimento.
typestringTipo do enriquecimento, como pf ou pj.
namestringNome definido para o enriquecimento.
statusstringStatus técnico atual.
fileobjectInformações do arquivo enviado.
progressobjectProgresso consolidado do processamento.
costobjectValores estimados, reservados, consumidos e estornados.
outputsobjectArquivos de saída disponíveis por tipo.
created_atstringData de criação em ISO 8601.
last_updated_atstringData da última atualização em ISO 8601.

Campo file

CampoDescrição
idID interno do arquivo.
nameNome original ou normalizado do arquivo.
extensionExtensão do arquivo.
content_typeMIME type identificado.
sizeTamanho em bytes.
uploaded_atData de upload em ISO 8601.
total_rowsQuantidade de linhas detectadas.

Campo progress

CampoDescrição
stageEtapa atual ou final do processamento.
percentPercentual consolidado.
total_rowsTotal de linhas a processar.
processed_rowsLinhas já processadas.
enriched_documentsDocumentos enriquecidos com sucesso.
invalid_documentsDocumentos inválidos.
not_found_documentsDocumentos não encontrados.
failed_rowsLinhas com falha técnica.

Exemplo de falha

{
  "id": "evt_c8e9eb31-0f70-4d0f-a5e8-e82f0c8fd7c8",
  "event": "enrichment.failed",
  "scope": "enrichment",
  "created_at": "2026-06-23T12:03:00Z",
  "data": {
    "enrichment": {
      "id": "enr_9fcb573b",
      "type": "pf",
      "name": "Base de clientes",
      "status": "failed",
      "file": {
        "id": "file_9fcb573b",
        "name": "clientes.csv",
        "extension": "csv",
        "content_type": "text/csv",
        "size": 73422,
        "uploaded_at": "2026-06-23T12:00:00Z",
        "total_rows": 1000
      },
      "progress": {
        "stage": "failed",
        "percent": 20,
        "total_rows": 1000,
        "processed_rows": 200,
        "enriched_documents": 180,
        "invalid_documents": 5,
        "not_found_documents": 10,
        "failed_rows": 5
      },
      "cost": {
        "estimated": 10,
        "reserved": 10,
        "consumed": 1.8,
        "refunded": 8.2
      },
      "outputs": {},
      "created_at": "2026-06-23T11:59:30Z",
      "last_updated_at": "2026-06-23T12:03:00Z"
    }
  }
}

Como consumir

  1. Use event para diferenciar etapas do fluxo.
  2. Use data.enrichment.id para buscar detalhes no painel ou API.
  3. Em enrichment.completed, leia data.enrichment.status para identificar conclusão normal ou com falhas parciais.
  4. Use outputs.*.available para saber se uma saída já pode ser acessada.
  5. Evite disparar processos pesados para eventos intermediários, como file_uploaded, se você só precisa do resultado final.

Relacionado

Visão geral

Contrato base de webhooks.

Enriquecimento

Entenda o fluxo completo de enriquecimento.