Pular para o conteúdo principal
Formato do erro O Reporter retorna erros como problem details RFC 9457 com o tipo de mídia application/problem+json:
Definições de campos
  • type – Uma URI que identifica o erro no catálogo de erros da Lerian. Construída como https://errors.lerian.studio/v1/<code>.
  • title – O texto do status HTTP (por exemplo, Bad Request).
  • status – O código de status HTTP.
  • detail – Orientação detalhada para ajudar você a resolver o erro. Para respostas 5xx, o Reporter sempre higieniza o detail para internal error, para que nenhuma causa interna vaze. Use code para tratar o erro de forma programática.
  • code – Um identificador estável e único para o erro (RPT-NNNN). Útil para tratamento programático e solicitações de suporte.
  • errors – Lista opcional de detalhes de validação por campo, cada um com uma message e uma location.
Algumas mensagens contêm placeholders como %v ou %s. O Reporter os substitui pelos valores específicos da sua requisição.

Erros do Reporter


As tabelas abaixo listam os erros que podem ocorrer quando você chama os endpoints do Reporter, o que cada um significa e como resolvê-lo.

400: Erros de validação


RPT-0075: Escopo de organização do CRM não resolvido

RPT-0075 é uma proteção fail-closed para templates que mapeiam plugin_crm. O Reporter não salva nem executa um mapeamento de CRM sem escopo, porque isso poderia expor registros entre organizações do Midaz. Pode ocorrer ao importar, criar ou atualizar um template de CRM, e quando um worker resolve um template de CRM já salvo. Não trate esse código como prova de que falta uma única variável de ambiente. Ele também ocorre quando o Reporter não consegue localizar plugin_crm no registro de fontes de dados. Primeiro confirme que o template mapeia plugin_crm, depois verifique a configuração do Manager e do worker, a disponibilidade do registro e as configurações não sensíveis de conexão do CRM. Para um deploy self-hosted, configure o bloco completo DATASOURCE_CRM_*, incluindo DATASOURCE_CRM_MIDAZ_ORGANIZATION_ID, e mantenha a senha do CRM e CRYPTO_HASH_SECRET_KEY_CRM / CRYPTO_ENCRYPT_SECRET_KEY_CRM em Secrets. Essas chaves de criptografia devem ser as mesmas usadas pelo CRM, e DATASOURCE_CRED_ENC_KEY deve permanecer estável. Na inicialização do Manager, o seed reservado da fonte de dados pode preencher um metadata.midazOrganizationId ausente ou vazio. O seed nunca sobrescreve um valor persistido não vazio. Não crie nem faça PATCH em plugin_crm pela API comum de fontes de dados. Se um ID de organização persistido e não vazio estiver incorreto, interrompa a recuperação genérica e fale com o suporte da Lerian. Após uma alteração aprovada, importe ou salve o template, gere um relatório, confirme que os campos de CRM são descriptografados e verifique o isolamento de organização. Veja Reporter via Helm para os valores do chart.

401: Não autorizado


404: Não encontrado


409: Conflitos


412: Falha de pré-condição


422: Não processável


428: Pré-condição obrigatória


429: Muitas requisições


500: Erros do servidor


Toda falha inesperada durante o tratamento síncrono de endpoints surge como HTTP 500. A resposta carrega code: RPT-0018, ou code: RPT-0034 quando o armazenamento de arquivos falha, e um detail higienizado internal error. Causas internas nunca vazam para o corpo da resposta. Falhas assíncronas de worker e de geração de relatório seguem, em vez disso, os status e metadados de relatório descritos abaixo. O Reporter não as retorna para a requisição original como HTTP 500.

Erros de geração de relatório (assíncronos)


A geração de relatório é executada de forma assíncrona no worker. A requisição HTTP original nunca recebe uma seção de extração de dados com falha. O relatório termina com status Error quando todas as seções falham, ou Partial quando algumas falham. Em ambos os casos, metadata.error_code é RPT-0060. As chaves de metadata.sections são nomes de bancos de dados. Cada entrada com falha contém seu error_code classificado (RPT-0018 para uma falha não tipada). Uma entrada RPT-0075 também carrega uma mensagem remediation. Quando o worker encerra um relatório com uma recusa RPT, o relatório fica com status Error. metadata.error_code traz o código RPT, metadata.error_title o título dele, e metadata.error a mensagem dele. Outras falhas de worker terminam com status Error e um metadata.error_code não-RPT de report_generation_failed, report_generation_timeout, report_generation_canceled ou report_message_schema_unsupported. Essas falhas não têm mapa sections. Um relatório cujo worker parou de sinalizar que estava vivo termina com status Error e metadata.error_code RPT-0160.

Erros de geração agendada (registrados em log)


O agendador de prazos gera estes códigos. Ele roda no Manager quando DEADLINE_TRIGGER_ENABLED=true. Ele não responde a nenhuma requisição, então os códigos aparecem apenas nas suas linhas de log, nunca em uma resposta HTTP. Cada código fica no campo error_code da sua linha de log, exceto o RPT-0113, que aparece apenas no campo error. Quando uma recusa não se resolve com uma nova tentativa, uma segunda linha a informa com error_code RPT-0118 e carrega o código original em error.