Direct Data

Look a Like

Manual de Integração — API Direct Data


Produto: Look a Like — Geração de Listas Similares por Critérios de Negócio

Base URL: /api/LookALike

Autenticação: Header Token (Guid)

Versão: 1.0

Sumário

1. Visão Geral

1.1 Descrição do Produto

O Look a Like é o produto Direct Data que constrói listas de empresas similares a um perfil definido pelo cliente, a partir de critérios de negócio como atividade econômica (CNAE), localização (UF, cidade, bairro, CEP), porte, situação cadastral, situação especial e faixa de funcionários. O resultado final é um arquivo CSV enriquecido, pronto para uso comercial.

Esta API permite ao cliente submeter os filtros de busca, visualizar uma amostra do resultado (top 5 empresas) antes de comprar, cotar o preço para uma quantidade desejada, confirmar a compra (cobrança automática) e baixar o arquivo final quando o enriquecimento concluir.

Base URL: /api/LookALike
Protocolo: HTTPS
Formato de dados: JSON (application/json)
Tempo de processamento: a construção do preview e o enriquecimento do arquivo final são processos assíncronos. O cliente envia a requisição, recebe um identificador (previewGuid ou exportGuid) e faz polling nos endpoints de status até a conclusão. Volume típico: 5–30 s para o preview e até alguns minutos para o enriquecimento, dependendo da quantidade adquirida.

1.2 Conceitos-Chave

O fluxo do Look a Like é composto por quatro conceitos principais:

ConceitoIdentificadorDescrição
Filtro Conjunto de critérios de busca enviado no body do endpoint Filter (CNAE, UF, porte, etc.). Pelo menos uma whitelist deve ser fornecida.
Preview previewGuid Resultado da execução dos filtros — uma lista candidata de empresas. Inclui o total encontrado e uma amostra de até 5 empresas. Sem custo.
Cotação (Quote) Cálculo de preço para exportar uma quantidade específica do preview. Sem efeito colateral — não cobra nem reserva.
Export (Compra) exportGuid Confirmação da compra: cria o compilado, cobra a empresa e enfileira o enriquecimento. Quando concluído, o CSV fica disponível para download.
Hierarquia: um Filtro gera um Preview. A partir de um Preview pronto, o cliente pode cotar (Quote) e/ou comprar (Purchase) qualquer quantidade até o total encontrado. Cada compra gera um Export independente — é possível comprar várias quantidades distintas do mesmo preview.

1.3 Autenticação

Todos os endpoints exigem autenticação via header Token contendo o GUID de API emitido pela Direct Data para a sua empresa. Esse token é único por empresa e deve ser tratado como credencial sensível.

HeaderTipoObrigatórioDescrição
TokenGuidSimToken de API fornecido pela Direct Data, no formato 00000000-0000-0000-0000-000000000000.
Content-TypestringSim (POST)Sempre application/json nos endpoints POST. Não é necessário nos GET.
Como obter seu Token de API: acesse o painel da Direct Data, faça login com sua conta e vá até a tela de perfil em https://app.directd.com.br/configuracoes/perfil. O Token é exibido nessa página e pode ser copiado para uso em todas as chamadas desta API.

1.4 Estrutura de Resposta Padrão

Todas as respostas (exceto Download, que devolve um stream binário) estendem o envelope ResponseMetaDataDTO. Independente de sucesso ou falha, o cliente sempre receberá os campos abaixo no corpo da resposta:

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 124,
  "dateTimeExecution": "22/05/2026 14:32:15",
  "error": null
}
CampoTipoDescrição
successboolIndica se a operação foi bem sucedida (HTTP 2xx).
statusstringDescrição textual do status HTTP retornado.
elapsedTimeMslongTempo total de processamento da requisição em milissegundos.
dateTimeExecutionstringData e hora em que a requisição foi executada no servidor.
errorobjectObjeto com fieldName e message em caso de erro. null em caso de sucesso.

1.5 Enumeradores

Status do Preview

Retornado no campo previewStatus dos endpoints Filter e GetPreview:

ValorNomeDescrição
1ProcessingEm processamento — aguardando o worker construir a lista.
2PreviewCompletedPreview pronto — totalFound e sample disponíveis.
3FailedFalha na construção do preview.

Status do Export

Retornado no campo exportStatus dos endpoints Purchase e GetExport:

ValorNomeDescrição
1ProcessingExport criado e pagamento em andamento.
2EnrichingPagamento confirmado — enriquecimento do arquivo CSV em andamento.
3CompletedArquivo CSV pronto para download.
4ErrorFalha após o pagamento — o valor foi estornado automaticamente. refundReason traz o motivo.

Modo de Filtro CNAE Unificado

Define em qual coluna de CNAE o filtro unificado é aplicado:

ValorNomeDescrição
1BothAplica em ambas as colunas (primário e secundário).
2PrimaryOnlyAplica somente na coluna de CNAE primário.
3SecondaryOnlyAplica somente na coluna de CNAE secundário.

1.6 Fluxo de Integração Recomendado

O fluxo padrão segue 6 etapas: enviar filtros, aguardar o preview, cotar, comprar, aguardar o enriquecimento e finalmente baixar o CSV.

Cliente Direct Data API | | | 1) Submete filtros | |-- POST /Filter ------------------------>| |<-- 200 { previewGuid, Processing } ------| | | | 2) Polling até PreviewCompleted | |-- GET /Preview/{previewGuid} ---------->| |<-- 200 { status, totalFound, sample } ---| | | | 3) Cotar preço (sem cobrar) | |-- POST /Quote ------------------------->| |<-- 200 { unitPrice, totalPrice } --------| | | | 4) Confirma compra | |-- POST /Purchase ---------------------->| |<-- 200 { exportGuid, amountCharged } ----| | | | 5) Polling até Completed | |-- GET /Export/{exportGuid} ------------>| |<-- 200 { status, isDownloadReady } ------| | | | 6) Baixa o CSV | |-- GET /Export/{exportGuid}/Download --->| |<-- 200 (CSV stream) --------------------|
Polling recomendado: intervalo de 2 segundos para o preview (timeout 60 s) e de 5 segundos para o export (timeout 5–10 min). Se ultrapassar o timeout, a Direct Data continua processando — basta retomar o polling em um momento posterior.

2. Endpoints — Preview

Os endpoints desta seção iniciam o fluxo do Look a Like: Filter envia os critérios de busca e cria o preview; GetPreview retorna o status e (quando pronto) o total encontrado mais uma amostra de 5 empresas.

2.1 Filter

POST /api/LookALike/Filter

Submete os filtros de busca e dispara a construção assíncrona do preview. Retorna o previewGuid que deve ser usado em todas as chamadas subsequentes do fluxo. Pelo menos uma whitelist deve estar preenchida em algum dos filtros.

Limite por preview: o campo numberOfResults aceita no máximo 100.000. Valores acima desse limite (ou ausentes/negativos) são revertidos silenciosamente para o default de 1.000. Para volumes maiores, gere previews separados com filtros diferentes.

Body da Requisição

CampoTipoObrigatórioDescrição
numberOfResultslongNãoLimite máximo de resultados a considerar no preview. Mínimo: 1. Máximo: 100.000. Default: 1.000.
filtersobjectSimConjunto de filtros de busca — ver tabela abaixo.
ignoredCnpjListarray<string>NãoLista de CNPJs que devem ser excluídos do resultado do preview. Útil para remover clientes já existentes ou empresas que não devem ser prospectadas. Aceita CNPJ formatado ("12.345.678/0001-99") ou apenas dígitos ("12345678000199"). CNPJs duplicados dentro da lista são ignorados automaticamente. Máximo: 100.000 itens.

Objeto filters

A maioria dos campos aceita o formato FormValue: { "whiteList": ["valor1", "valor2"], "blackList": ["valor3"] }
whiteList inclui apenas as empresas que possuem os valores informados; blackList exclui empresas que possuem os valores informados. Ambas as listas podem ser vazias.

CampoTipoObrigatórioDescrição
employeeCountRange { min: int,
max: int }
Não Faixa de número de funcionários. Use exatamente uma das cinco faixas válidas:
  • { "min": 1, "max": 9 } — 1 a 9 funcionários
  • { "min": 10, "max": 49 } — 10 a 49 funcionários
  • { "min": 50, "max": 99 } — 50 a 99 funcionários
  • { "min": 100, "max": 499 } — 100 a 499 funcionários
  • { "min": 500, "max": 0 } — 500 ou mais funcionários
postalCodes FormValue Não CEPs no formato XXXXX-XXX (ex: "01310-100").
states FormValue Não Siglas de UF brasileiras, 2 letras (ex: "SP", "RJ").
cities FormValue Não Nomes de cidades (ex: "São Paulo", "Campinas").
neighborhoods FormValue Não Nomes de bairros (ex: "Centro", "Jardim Paulista").
primaryCnae FormValue Não Código CNAE primário da empresa (apenas dígitos, ex: "6201500").
secondaryCnae FormValue Não Código CNAE secundário da empresa (apenas dígitos, ex: "6201500").
unifiedCnae { mode: int,
whiteList: string[],
blackList: string[] }
Não Filtro unificado de CNAE — aplica sobre CNAE primário, secundário ou ambos conforme o mode:
  • 1 — Somente CNAE primário
  • 2 — Somente CNAE secundário
  • 3 — Primário ou secundário
companySize FormValue Não ID do porte da empresa:
  • "0" — Não Informado
  • "1" — Micro Empresa
  • "3" — Empresa de Pequeno Porte
  • "5" — Demais
specialStatus FormValue Não ID da situação especial da empresa:
  • "2" — Em liquidação extra-judicial
  • "3" — Em liquidação
  • "4" — Espólio ev 407
  • "5" — Falido
  • "6" — Intervenção
  • "7" — Liquidação extra-judicial
  • "8" — Liquidação judicial
  • "9" — Recuperação judicial
registrationStatus FormValue Não ID da situação cadastral da empresa:
  • "1" — Ativa
  • "2" — Baixada
  • "3" — Inapta
  • "4" — Nula
  • "5" — Suspensa
openingDateStart string Não Data de abertura mínima, no formato dd/MM/yyyy (ex: "01/01/2010").
openingDateEnd string Não Data de abertura máxima, no formato dd/MM/yyyy (ex: "31/12/2020"). Deve ser maior ou igual a openingDateStart quando ambos forem informados.

Exemplo de Requisição

POST /api/LookALike/Filter HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "numberOfResults": 5000,
  "filters": {
    "states": { "whiteList": ["SP"], "blackList": [] },
    "cities": { "whiteList": ["São Paulo"], "blackList": [] },
    "neighborhoods": { "whiteList": ["Centro", "Bela Vista"], "blackList": [] },
    "primaryCnae": { "whiteList": ["6201500", "6202300"], "blackList": [] },
    "companySize": { "whiteList": ["1", "3"], "blackList": [] },
    "registrationStatus": { "whiteList": ["1"], "blackList": [] },
    "employeeCountRange": { "min": 10, "max": 49 },
    "openingDateStart": "01/01/2010",
    "openingDateEnd": "31/12/2020"
  }
}

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 215,
  "dateTimeExecution": "22/05/2026 14:32:15",
  "error": null,
  "previewGuid": "a1b2c3d4-e5f6-7890-abcd-1234567890ab",
  "previewStatus": "Processing",
  "createdAt": "22/05/2026 14:32:15"
}

Campos da Resposta

CampoTipoDescrição
previewGuidGuidIdentificador público do preview. Use em GetPreview, Quote e Purchase.
previewStatusstringSempre Processing na criação. Faça polling em GetPreview até virar PreviewCompleted.
createdAtstring (dd/MM/yyyy HH:mm:ss)Timestamp da criação do preview.

2.2 GetPreview

GET /api/LookALike/Preview/{previewGuid}

Retorna o status atual do preview. Quando o status é PreviewCompleted, a resposta inclui o total de empresas encontradas (totalFound) e uma amostra de até 5 empresas (sample).

Path Parameters

ParâmetroTipoObrigatórioDescrição
previewGuidGuidSimGuid público do preview retornado por Filter.

Exemplo de Requisição

GET /api/LookALike/Preview/a1b2c3d4-e5f6-7890-abcd-1234567890ab HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200) — PreviewCompleted

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 89,
  "dateTimeExecution": "22/05/2026 14:33:08",
  "error": null,
  "previewGuid": "a1b2c3d4-e5f6-7890-abcd-1234567890ab",
  "previewStatus": "PreviewCompleted",
  "createdAt": "22/05/2026 14:32:15",
  "completedAt": "22/05/2026 14:32:48",
  "totalFound": 3247,
  "sample": [
    {
      "companyName": "TECIDOS EXEMPLO LTDA",
      "startOfActivity": "14/03/2010",
      "city": "São Paulo",
      "companySize": "ME"
    }
  ]
}

Campos da Resposta

CampoTipoDescrição
previewGuidGuidEco do parâmetro recebido.
previewStatusstringStatus atual: Processing, PreviewCompleted ou Failed.
createdAtstringTimestamp da criação.
completedAtstringTimestamp da conclusão (somente quando PreviewCompleted).
totalFoundlongQuantidade total de empresas encontradas. Somente quando PreviewCompleted.
sample[]arrayAmostra de até 5 empresas. Somente quando PreviewCompleted.
sample[].companyNamestringRazão Social da empresa.
sample[].startOfActivitystring (dd/MM/yyyy)Data de início de atividade da empresa.
sample[].citystringCidade.
sample[].companySizestringPorte (MEI, ME, EPP, PJ).

3. Endpoints — Cotação e Compra

Quote calcula o preço sem efeito colateral. Purchase efetiva a compra, cobra o valor da empresa via saldo/faturamento e enfileira o enriquecimento do arquivo.

3.1 Quote

POST /api/LookALike/Quote

Calcula o preço para exportar uma quantidade específica do preview. Não cobra nem reserva nada. Útil para o cliente exibir o valor antes de confirmar a compra.

Body da Requisição

CampoTipoObrigatórioDescrição
previewGuidGuidSimGuid de um preview com status PreviewCompleted.
quantitylongSimQuantidade de empresas a exportar (1 ≤ quantity ≤ totalFound).

Exemplo de Requisição

POST /api/LookALike/Quote HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "previewGuid": "a1b2c3d4-e5f6-7890-abcd-1234567890ab",
  "quantity": 500
}

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 35,
  "dateTimeExecution": "22/05/2026 14:35:02",
  "error": null,
  "previewGuid": "a1b2c3d4-e5f6-7890-abcd-1234567890ab",
  "quantity": 500,
  "unitPrice": 0.45,
  "totalPrice": 225.00,
  "currency": "BRL"
}

Campos da Resposta

CampoTipoDescrição
previewGuidGuidEco do preview cotado.
quantitylongQuantidade cotada.
unitPricedecimalPreço unitário (por item).
totalPricedecimalPreço total (unitPrice × quantity).
currencystringCódigo ISO 4217 da moeda. Sempre "BRL".

3.2 Purchase

POST /api/LookALike/Purchase

Confirma a compra: cria o compilado (subset do preview), cobra o valor da empresa e enfileira o enriquecimento. Retorna o exportGuid que deve ser usado para acompanhar o status e baixar o arquivo final.

Esta é a única operação cobrada do fluxo. Em caso de falha posterior do enriquecimento, o valor é estornado automaticamente e o status do export passa para Error com o motivo em refundReason.

Body da Requisição

CampoTipoObrigatórioDescrição
previewGuidGuidSimGuid de um preview com status PreviewCompleted.
quantitylongSimQuantidade de empresas a exportar (1 ≤ quantity ≤ totalFound).

Exemplo de Requisição

POST /api/LookALike/Purchase HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "previewGuid": "a1b2c3d4-e5f6-7890-abcd-1234567890ab",
  "quantity": 500
}

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 412,
  "dateTimeExecution": "22/05/2026 14:36:14",
  "error": null,
  "exportGuid": "b2c3d4e5-f6a7-8901-bcde-2345678901bc",
  "exportStatus": "Processing",
  "amountCharged": 225.00,
  "currency": "BRL",
  "purchasedAt": "22/05/2026 14:36:14"
}

Campos da Resposta

CampoTipoDescrição
exportGuidGuidIdentificador público do export. Use em GetExport e Download.
exportStatusstringSempre Processing na criação. Faça polling em GetExport.
amountChargeddecimalValor efetivamente cobrado.
currencystringSempre "BRL".
purchasedAtstring (dd/MM/yyyy HH:mm:ss)Timestamp da confirmação da compra.

4. Endpoints — Export e Download

Após a confirmação da compra, o worker de enriquecimento processa a lista e gera o CSV final. GetExport retorna o status; Download retorna o stream do arquivo quando o status é Completed.

4.1 GetExport

GET /api/LookALike/Export/{exportGuid}

Retorna o estado atual de um export. O cliente deve fazer polling neste endpoint até o status ficar Completed (ou Error em caso de falha).

Path Parameters

ParâmetroTipoObrigatórioDescrição
exportGuidGuidSimGuid público do export retornado por Purchase.

Exemplo de Requisição

GET /api/LookALike/Export/b2c3d4e5-f6a7-8901-bcde-2345678901bc HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200) — Completed

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 47,
  "dateTimeExecution": "22/05/2026 14:42:01",
  "error": null,
  "exportGuid": "b2c3d4e5-f6a7-8901-bcde-2345678901bc",
  "exportStatus": "Completed",
  "listName": "Têxtil SP — Maio/2026",
  "quantity": 500,
  "amountCharged": 225.00,
  "currency": "BRL",
  "purchasedAt": "22/05/2026 14:36:14",
  "completedAt": "22/05/2026 14:41:53",
  "refundReason": null,
  "isDownloadReady": true
}

Campos da Resposta

CampoTipoDescrição
exportGuidGuidEco do parâmetro recebido.
exportStatusstringProcessing, Enriching, Completed ou Error.
listNamestringNome da lista gerado automaticamente pela API no padrão API_Preview_{guid}_{data}.
quantitylongQuantidade adquirida.
amountChargeddecimalValor cobrado.
currencystringSempre "BRL".
purchasedAtstring (dd/MM/yyyy HH:mm:ss)Timestamp da compra.
completedAtstring (dd/MM/yyyy HH:mm:ss)Timestamp da conclusão do enriquecimento (ou da falha).
refundReasonstringMotivo do estorno em caso de Error. null em sucesso.
isDownloadReadybooltrue quando o arquivo está pronto para download.

4.2 Download

GET /api/LookALike/Export/{exportGuid}/Download

Devolve o stream de um pacote ZIP contendo o arquivo CSV final com os dados enriquecidos (e eventuais metadados auxiliares). Disponível apenas quando o status do export é Completed. O conteúdo é entregue como application/zip com cabeçalho Content-Disposition: attachment.

Path Parameters

ParâmetroTipoObrigatórioDescrição
exportGuidGuidSimGuid público do export.

Exemplo de Requisição

GET /api/LookALike/Export/b2c3d4e5-f6a7-8901-bcde-2345678901bc/Download HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200)

HTTP/1.1 200 OK
Content-Type: application/zip
Content-Disposition: attachment; filename="LookALike-API_Preview_a1b2c3d4-e5f6-7890-abcd-ef1234567890.zip"

<binary ZIP stream>

# Dentro do ZIP (exemplo):
#   resultado.csv          ← lista enriquecida (CNPJ, Razão Social, CNAE, etc.)
#   metadata.json          ← metadados da exportação (opcional)
Por que ZIP e não CSV direto: o pacote pode conter múltiplos arquivos (CSV principal + metadados / manifesto). Repassar o ZIP nativo permite streaming sem buffer em memória e dá flexibilidade para evoluir o conteúdo sem quebrar o contrato.
Diferença das demais respostas: este endpoint não retorna o envelope ResponseMetaDataDTO. Em caso de erro, retorna apenas o código HTTP correspondente (sem body) — ver tabela de erros na seção 5.4.

5. Mapeamento de Erros por Endpoint

5.1 Estrutura do Erro

Quando uma requisição falha (exceto no Download), o envelope ResponseMetaDataDTO retorna o campo error preenchido com o nome do campo problemático e a mensagem correspondente. O campo success será false e o status HTTP refletirá o tipo de falha.

// Exemplo de resposta 401 Unauthorized (token inválido)
{
  "success": false,
  "status": "Unauthorized",
  "elapsedTimeMs": 12,
  "dateTimeExecution": "22/05/2026 14:40:01",
  "error": {
    "fieldName": "Token",
    "message": "Token de acesso inválido. Verifique suas credenciais."
  }
}

// Exemplo de resposta 404 Not Found (Guid não pertence à empresa)
{
  "success": false,
  "status": "Not Found",
  "elapsedTimeMs": 28,
  "dateTimeExecution": "22/05/2026 14:40:14",
  "error": {
    "fieldName": "previewGuid",
    "message": "Preview não encontrado ou não acessível."
  }
}
401 Unauthorized é retornado por todos os endpoints quando o header Token está ausente, mal formado ou não corresponde a uma empresa válida.
403 Forbidden é retornado quando o token é válido mas a empresa não tem o produto Look a Like habilitado em seu contrato.
404 Not Found é retornado quando o Guid informado (previewGuid ou exportGuid) não existe ou não pertence à empresa autenticada.
402 Payment Required é retornado quando a validação de saldo/faturamento falha (Quote e Purchase).

5.2 Filter / GetPreview

POST /api/LookALike/Filter · GET /api/LookALike/Preview/{previewGuid}

CódigoCondiçãoCampoMensagem
400Filtros vazios (nenhuma whitelist preenchida)filtersPelo menos um filtro (whiteList) deve ser preenchido.
400IgnoredCnpjList excede 100.000 itensignoredCnpjListA lista de CNPJs ignorados excede o limite máximo de 100.000 itens.
404Preview não encontrado ou não pertence à empresapreviewGuidPreview não encontrado ou não acessível.
401Header Token ausente ou inválidoTokenToken de acesso inválido. Verifique suas credenciais.
403Empresa sem o produto habilitadoProductProduto não liberado para esta empresa.
500Exceção não tratada no servidorErro inesperado ao processar a requisição.

5.3 Quote / Purchase

POST /api/LookALike/Quote · POST /api/LookALike/Purchase

CódigoCondiçãoCampoMensagem
400Quantidade inválida (≤ 0 ou > totalFound)quantityA quantidade deve ser maior que zero e não pode exceder o total encontrado no preview.
400Quantidade excede o máximo contratadoquantityA quantidade excede o máximo permitido por exportação via API.
400Preview ainda em processamentopreviewGuidO preview ainda está em processamento. Tente novamente em instantes.
400Preview falhoupreviewGuidO processamento do preview falhou.
404Preview não encontrado ou não pertence à empresapreviewGuidPreview não encontrado ou não acessível.
409Preview já foi comprado anteriormente (status AwaitingPayment, Processing, Paid, Enriching ou Completed)previewGuidEste preview já foi comprado. Gere um novo preview para realizar outro pedido.
402Saldo/faturamento inválido ou cobrança recusadacompanyIdSaldo insuficiente para realizar. Por favor, verifique.
401Header Token ausente ou inválidoTokenToken de acesso inválido. Verifique suas credenciais.
403Empresa sem o produto habilitadoProductProduto não liberado para esta empresa.
500Exceção não tratada no servidorErro inesperado ao processar a requisição.

5.4 GetExport / Download

GET /api/LookALike/Export/{exportGuid} · GET /api/LookALike/Export/{exportGuid}/Download

CódigoCondiçãoCampoMensagem
404Export não encontrado ou não pertence à empresaexportGuidExport não encontrado ou não acessível.
409Tentativa de download antes do status CompletedexportGuidO export ainda não está disponível para download.
502Falha ao recuperar o arquivo do serviço de enriquecimentoFalha ao recuperar o arquivo do serviço de enriquecimento.
401Header Token ausente ou inválidoTokenToken de acesso inválido. Verifique suas credenciais.
403Empresa sem o produto habilitadoProductProduto não liberado para esta empresa.
500Exceção não tratada no servidorErro inesperado ao processar a requisição.