Páginas filhas
  • DDWMISSI-3762 - DT - winthor-integracao-varejo- API de venda - PDV OMNI - FALHA NA INTEGRAÇÃO COM WINTHOR

01. DADOS GERAIS


Produto:

TOTVS Distribuição e Varejo

Linha de Produto:

Linha Winthor

Segmento:

Distribuição

Módulo:8 - Ferramentas do sistema
Função:801 - Autorização de serviços WEB
Requisito/Story/Issue:DDWMISSI-3762

02. SITUAÇÃO/REQUISITO

Descrição do Cenário Atual

Descrição do Cenário Atual Identificamos que vendas realizadas no PDV Omni não estão sendo integradas ao Winthor devido a uma rejeição no WSH, que retorna a mensagem: "Matrícula do funcionário é obrigatória".

A investigação técnica apontou que o erro ocorre mesmo quando a matrícula parece estar presente. O problema reside na validação da API:

  1. Se a tag CodFuncCx no cabeçalho contém um valor que não possui vínculo direto com um CODUSUR na tabela PCEMPR;

  2. Se o parâmetro de fallback CODFUNCCXINTEGRACAOPDV (rotina 132) estiver nulo ou zerado;

  3. Se a tag produtos.codfuncx estiver ausente ou inválida.

Atualmente, o sistema ignora a tag produtos.codusur (código do vendedor), que muitas vezes é a única informação válida enviada no JSON, resultando no travamento desnecessário da integração.

03. SOLUÇÃO

  • Ajuste

    (Validação via Fallback CodUsur) Para garantir a fluidez da integração, foi implementada uma estrutura de "cascata" (fallback) mais robusta para a identificação da matrícula do funcionário. A API agora tenta localizar um responsável válido seguindo esta ordem de prioridade:

    1. Cabeçalho: Valida o codFuncCx enviado na tabela PCEMPR.

    2. Parâmetro (Fallback 1): Caso o cabeçalho seja inválido, busca o valor definido no parâmetro CODFUNCCXINTEGRACAOPDV.

    3. Item - CodFuncCx (Fallback 2): Se o parâmetro for nulo, tenta validar o codFuncCx dentro da tag de produtos.

    4. Item - CodUsur (Fallback 3 - Novo): Se todas as opções anteriores falharem, o sistema agora valida o codUsur do produto na PCEMPR e busca a matrícula vinculada a este usuário.

    Critérios de Aceite

    A venda deve ser processada com sucesso se um codUsur válido for enviado no item, mesmo que o codFuncCx do cabeçalho seja inválido ou o parâmetro da 132 esteja zerado.

    • O sistema deve priorizar o funcionário do cabeçalho caso ele seja válido (manutenção da regra de prioridade).

    • O campo de funcionário nas tabelas de venda deve refletir a matrícula encontrada via usuário.


    Benefícios Esperados

    • Redução drástica de rejeições de vendas por erro de matrícula inexistente.

    • Maior inteligência da API em interpretar os dados enviados pelo PDV Omni (usando o codUsur como âncora).

    • Eliminação de intervenções manuais para ajuste de parâmetros quando o dado já existe no JSON da venda.


Na rotina 801 atualizar serviço winthor-integracao-varejo para uma das versões abaixo ou superior:

  • 1.37.17.89

Exemplo de Response com os dados corretos:

Status code = 200 OK

{
    "sucesso": true,
    "observacao": [
        "Operação integrada com sucesso!"
    ],
    "idWinthor": 0
}

Exemplo de Response com os dados inválidos:

Status code = 400Bad Request

{
    "sucesso": false,
    "observacao": [
        "Matricula do funcionario é obrigatória"
    ],
    "idWinthor": 0
}



04. DEMAIS INFORMAÇÕES



IMPORTANTE!

As versões estarão disponíveis para download no CCW. Mantenha suas rotinas sempre atualizadas!