Á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
revision2023


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

...

4. Definição de contratos de API:


4.1 Contrato de consulta de limite de crédito online

  • Endpoint: /api/pdvsyncserver/retaguarda/v2/processoonlinelimitecredito/{IdInquilino}/{IdRetaguardaLoja}
  • Método: Get
  • 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


Response:

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

Exemplos

Sucesso:

{
  "success": true,
  "message": null,
  "limitesCredito":
  [
    {
      "saldo": 1000.00 ,
      "idRetaguardaLimiteCredito": null
    }
  ]
}


Erro:

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


4.2 Contrato de consulta de limite de crédito detalhado online

  • Endpoint: /api/pdvsyncserver/retaguarda/v2/processoonlinelimitecreditodetalhes/{IdInquilino}/{IdRetaguardaLoja}
  • Método: Get
  • 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



Response:

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.DetalhesValorUtilizadoLista 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.

    4.2 Contrato descida de dado forma de pagamento 

    4.3 Contrato descida de dado tabela loja

    4.4 Contrato utilização de saldo 

      • Deve ser preenchido com ao menos um item no objeto.
    limitesCredito.DetalhesValorUtilizado.totaldoubleValor total já utilizado.NãoDeve ser preenchido caso o atributo  "valorUtilizado" seja maior que zero.
    limitesCredito.DetalhesValorUtilizado.tipostringTipo da origem de utilização do crédito.NãoDeve 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,
          "DetalhesValorUtilizado":
          [
            {
              "":1000.00
              "tipo": "Contas a receber"
            },
            {
              "total":2000.00
              "tipo": "Pedidos a faturar"
            }
          ]
        }
      ]
    }


    Erro:

    {
      "success": false,
      "message": "Não foi possível encontrar limite de crédito para o cliente selecionado."
    }



    4.3 Contrato descida de dado forma de pagamento

    • Adicionar o atributo "utilizaLimiteCredito" na API de POST de forma de pagamento (v3.2)  - Forma de pagamento#2612513
      • O atributo novo deve ser criado direto no data do payload, conforme exemplo abaixo:
        • Image Added
          • O novo campo será opcional e booleano.
            • 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.

    Campo

    Tipo

    Descrição

    Obrigatório

    Campo PDV

    Observação

    utilizaLimiteCreditoboolIndica se a forma de pagamento é elegível a utilizar limite de crédito.Não

    Tabela - pagamento_forma 

    campo - utiliza_limite_credito

    • 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.4 Contrato descida de dado tabela loja

    • Adicionar o atributo "limiteCreditoFormaPagamento" na API de POST de loja (v3.2)  - Cadastro de Loja#Vers%C3%A3o3.2
      • O atributo novo deve ser criado direto na data do payload, conforme exemplo abaixo:
        • Image Added


    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 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


    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.


    Response:

    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ã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.idRetaguardaPagamentoFormastringidRetaguarda relacionado ao tipo de forma de pagamento disponível para o limite de crédito.Não
    • 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.

    Exemplos

    Sucesso:

    {
      "success": true,
      "message": null,
      "limitesCredito":
      [
        {
            "saldo": 1000.00 ,
            "idRetaguardaLimiteCredito": null
            "saldoDetalhadoFormaPagamento":
            [
                {
                    "valor": 500.00,
                    "idRetaguardaPagamentoForma": "BL"
                },
                {
                    "valor": 500.00,
                    "idRetaguardaPagamentoForma": "CH"
                }
            ]
        }
      ]
    }


    Erro:

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


    4.6 Contrato 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"
    }4.5 Contrato cancelamento de venda 

    5. Premissas:


    6. Restrições:

    ...