Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

draw.io Diagram
bordertrue
diagramNameJornada limite de crédito
simpleViewerfalse
width
linksauto
tbstyletop
diagramDisplayNameLimite de crédito
lboxtrue
diagramWidth3581
revision2223


Dores e necessidades

Efetuar a consulta de limite de crédito 

Negócio

No PDV e Pedido deve ser possível efetuar a consulta do saldo de crédito disponível para   exibição em tela para o usuário 

Entrega de valor

usuário poderá consultar no sistema PDV Omni o saldo de crédito disponível para o consumidor no momento da venda

...

  • Endpoint: /api/pdvsyncserver/retaguarda/v2/processoonlinelimitecreditodetalhes/{IdInquilino}/{IdRetaguardaLoja}
  • Método: Get
  • Autenticação: Bearer token
  • Permissão: Client

RequestDúvidas:

  •  Levantadas pelo time Sync
    • Não é importante ter a data ou o período considerado para trazer os "detalhes" do que esta compondo o limite de crédito ?
    • O nome da da API como detalhes não esta muito sugestivo a um extrato ?
      • O nome não poderia ser processoonlinelimitecreditosintetico ?

Request:

Campo

Tipo

Descrição

Tipo Parâmetro

Obrigatório

Observação

IdInquilinostringIdentificador do Inquilino

Campo

Tipo

Descrição

Tipo Parâmetro

Obrigatório

Observação

IdInquilinostringIdentificador do InquilinoParameter/Path/Query Params*Sim

*Usado apenas pelo PDV.

Retaguarda não precisa criar API com esse parâmetro, pois o Sync já irá direcionar para o IP correto.

IdRetaguardaLojastringIdentificador da loja na retaguarda

Parameter/Path/Query Params

Sim


cpfCnpjstringDocumento do cliente

Header

Sim


...

Campo

Tipo

Descrição

Obrigatório

Observação

successboolIndica se a consulta de limite de crédito ocorreu corretamenteSimExemplo: Se o cliente não foi encontrado, deve ser retornado "false", pois a partir disso o PDV sabe que não haverá objeto de limite de crédito para exibir e sim apenas a mensagem justificando a ausência efetiva do limite de crédito.
messagestringMensagem de retorno de errosNãoSempre que possível em caso de erro justificar o erro nesse campo.
limitesCreditoLista de objetosLista com dos limites de créditos retornadosNãoDeve ser enviado sempre que houver retorno de true no atributo "success".
limitesCredito.saldoDisponiveldoubleSaldo do crédito disponívelSimCaso o ERP não encontre nenhum registro de limite de crédito para o cliente, deve retornar saldo disponível igual a zero.
limitesCredito.idRetaguardaLimiteCreditostringIdentificador do limite de crédito caso existaNão
limitesCredito.valorUtilizadodoubleValor já consumido do limite de créditoSim
limitesCredito.valorTotaldoubleValor total do limite de créditoSimEsse valor é composto pela somatória do valorUtilizado e o saldoDisponivel.
limitesCredito.DetalhesValorUtilizadodetalhesValorUtilizadoLista de objetosLista de detalhamento da composição do limite de crédito já utilizado.Não
  • Deve ser preenchido caso o atributo  "valorUtilizado" seja maior que zero.
    • Deve ser preenchido com ao menos um item no objeto.
limitesCredito.DetalhesValorUtilizadodetalhesValorUtilizado.totaldoubleValor total já utilizado.NãoSim
  • Obrigatoriedade do objeto detalhesValorUtilizado 
  • Deve ser preenchido caso o atributo  "valorUtilizado" seja maior que zero.
limitesCredito.DetalhesValorUtilizadodetalhesValorUtilizado.tipostringTipo da origem de utilização do crédito.NãoSim
  • Obrigatoriedade do objeto detalhesValorUtilizado 
  • Deve ser preenchido caso o atributo  "valorUtilizado" seja maior que zero.

Exemplos

Sucesso:

{
  "success": true,
  "message": null,
  "limitesCredito":
  [
    {
      "saldoDisponível": 1000.00,
      "idRetaguardaLimiteCredito": null,
      "valorUtilizado": 3000.00,
      "valorTotal": 4000.00,
      "DetalhesValorUtilizadodetalhesValorUtilizado":
      [
        {
          "":1000.00
          "tipo": "Contas a receber"
        },
        {
          "total":2000.00
          "tipo": "Pedidos a faturar"
        }
      ]
    }
  ]
}

...

Campo

Tipo

Descrição

Obrigatório

Campo PDV

Observação

limiteCreditoFormaPagamentoboolIndica se a loja trabalha com limite de crédito por forma de pagamento.Não

Tabela - loja

campo - limite_credito_forma_pagamento

  • O default desse campo será falso.
  • Caso a retaguarda/erp não envie esse campo, o mesmo será considerado false para o Sync e o PDV.

4.5 Contrato utilização de saldo de consulta de limite de crédito por forma de pagamento online

  • Endpoint: /api/pdvsyncserver/retaguarda/v2/processoonlinelimitecredito/{IdInquilino}/{IdRetaguardaLoja}
  • Método: Get
  • Autenticação: Bearer token
  • Permissão: Client

...

Campo

Tipo

Descrição

Tipo Parâmetro

Obrigatório

Observação

IdInquilinostringIdentificador do InquilinoParameter/Path/Query Params*Sim

*Usado apenas pelo PDV.

Retaguarda não precisa criar API com esse parâmetro, pois o Sync já irá direcionar para o IP correto.

IdRetaguardaLojastringIdentificador da loja na retaguarda

Parameter/Path/Query Params

Sim


cpfCnpjstringDocumento do cliente

Header

Sim


limitePgamentoFormalimitePagamentoFormaboolIndica se a solicitação de limite de crédito deve ser retornada por tipo de forma de pagamento ou não.

Header

Não

Caso o parâmetro não seja enviado, o default desse parâmetro será false.

Caso seja true, o retorno da retaguarda será de limite de crédito por tipo  de forma de pagamento.

...

Campo

Tipo

Descrição

Obrigatório

Observação

successboolIndica se a consulta de limite de crédito ocorreu corretamenteSimExemplo: Se o cliente não foi encontrado, deve ser retornado "false", pois a partir disso o PDV sabe que não haverá objeto de limite de crédito para exibir e sim apenas a mensagem justificando a ausência efetiva do limite de crédito.
messagestringMensagem de retorno de errosNãoSempre que possível em caso de erro justificar o erro nesse campo.
limitesCreditoLista de objetosLista com dos limites de créditos retornadosNãoDeve ser enviado sempre que houver retorno de true no atributo "success".
limitesCredito.saldoDisponiveldoubleSaldo do crédito disponívelNãoDeve ser enviado sempre que houver retorno de true no atributo "success".
limitesCredito.idRetaguardaLimiteCreditostringIdentificador do limite de crédito caso existaNão
limitesCredito.saldoDetalhadoFormaPagamentoLista de objetosLista com os limites de créditos retornados por forma de pagamentoNãoDeve ser enviado sempre que for solicitada na requisição  no atributo o atributo "limitePgamentoForma" como true e o valor do saldo for maior que zero.
limitesCredito.saldoDetalhadoFormaPagamento.valordoubleValor por forma de pagamento do limite de créditoNãoSimDeve ser enviado sempre que for solicitada na requisição  no atributo o atributo "limitePgamentoForma" como true e o valor do saldo for maior que zero.
limitesCredito.saldoDetalhadoFormaPagamento.idRetaguardaPagamentoFormastringidRetaguarda relacionado ao tipo de forma de pagamento disponível para o limite de crédito.NãoSim
  • Deve ser enviado sempre que for solicitada na requisição  no atributo o atributo "limitePgamentoForma" como true e o valor do saldo for maior que zero.
  • O idRetaguarda enviado nesse campo deve ser o mesmo enviado na carga de pagamento forma.

...

{
  "success": false,
  "message": "Cliente com XPTO não encontrado na base de dados da retaguarda"
}


4.6 Contrato cancelamento de venda 

5. Premissas:

de consumo/cancelamento de utilização de limite de crédito - INCOMPLETO - NÃO UTILIZAR

  • Endpoint: /api/pdvsyncserver/retaguarda/v2/processoonlinelimitecredito
  • Método: POST
  • Autenticação: Bearer token
  • Permissão: Client


Request:

Campo

Tipo

Descrição

Tipo Parâmetro

Obrigatório

Observação

IdInquilinostringIdentificador do InquilinoParameter/Path/Query Params*Sim

*Usado apenas pelo PDV.

Retaguarda não precisa criar API com esse parâmetro, pois o Sync já irá direcionar para o IP correto.

IdRetaguardaLojastringIdentificador da loja na retaguarda

Parameter/Path/Query Params

Sim


cpfCnpjstringDocumento do cliente

Header

Sim


limitePgamentoFormaboolIndica se a solicitação de limite de crédito deve ser retornada por tipo de forma de pagamento ou não.

Header

Não

Caso o parâmetro não seja enviado, o default desse parâmetro será false.

Caso seja true, o retorno da retaguarda será de limite de crédito por tipo  de forma de pagamento.

{
    "idInquilino": "123",
    "limitePgamentoForma": true
    "Limitescredito": [
        {
            "cpfCnpj": "45512547836",
            "idRetaguardaLimiteCredito": "",
            "idRetaguardaLojaBaixa": "",
            "idRetaguardaUsuario": "12569",
            "saldoDetalhadoFormaPagamento": [
                {
                    "valor": 500.00,
                    "idRetaguardaPagamentoForma": "BL"
                },
                {
                    "valor": 500.00,
                    "idRetaguardaPagamentoForma": "CH"
                }
            ],
            "valorTotalBaixa": 1000.00
        }
    ],
    "idRetaguardaoperador": "125610",
    "motivo": "Consumo Limite crédito PDV",
    "numeroCaixa": "01",
    "numeroVenda": "1",
    "origemPDV": "PDVOmni",
    "serieVenda": "1",
    "tipoOperacao": "0"
}

5. Premissas:


6. Restrições:

Nessa primeira versão não está sendo previsto o desenvolvimento de integração de pedidos com status de analise de credito, para o fluxo financeiro ode é feita a analise e liberação de limite de credito sobre pedidos pendentes. 6. Restrições:


7. Pontos de atenção: 

  • desenvolvimento na issue
    Jira
    serverJIRA
    serverId0c783de1-186e-383b-975c-a1acd7d76cb5
    keyDPDVSUPER-2560
    onde para calcular o valor do limite de crédito disponível, deverá ser feito da seguinte forma
    • (Limite de Crédito *  % Exceção) - Valor títulos em aberto - Valor venda pendente
  • Para QA, considerar:
    • cenários com e sem parâmetro da finalizadora (132)
    • cenários com cliente não cadastrado
    • cenários de limite de crédito de cliente:
      • cenários de margem da 132 (% máximo para exceder limite de crédito) passando e nao passando o limite
      • cenários de limite por cobrança 
      • cenários com titulo em aberto passando e nao passando o limite
      • cenários com venda pendente passando e nao passando o limite
      • cenários com cliente válido com a venda aberta
      • cenários com cliente válido com a venda fechada
      • cenários com cliente com saldo negativo
    • cenários de limite de crédito de cliente principal:
      • cenários de margem da 132 (% máximo para exceder limite de crédito) passando e não passando o limite
      • cenários de limite por cobrança 
      • cenários com titulo em aberto passando e não passando o limite
      • cenários com venda pendente passando e não passando o limite
      • cenários com cliente principal válido com a venda aberta
      • cenários com cliente principal válido com a venda fechada
      • cenários com cliente principal com saldo negativo
      • Cenários com limite de crédito com saldo com mais de 7 digitos 
    • comparar cenários com a 2030
  • verificar o fluxo para não validação do limite para cartão (crédito, débito, etc)
  • verificar qual parâmetro habilita o limite de crédito na cobrança no PDV e no Pedido: "Validar Limite de Crédito ECF" ou "Validar Limite de crédito", conforme 522

...