...
draw.io Diagram | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 |
Dores e necessidades | Necessidade de exibir limite de crédito por forma de pagamento na identificação do cliente |
Negócio | Ao efetuar a identificação de um cliente no PDV ou Pedido quando houver limite de crédito diferente por forma de pagamento deve ser exibido na tela de detalhes do cliente os valores de limite separados por forme. |
Entrega de valor | O processo irá garantir que o vendedor tenha a visualição nos detalhes do cliente do valor de limite de crédito por forma de pagamento |
Dores e necessidades | Definir quais formas de pagamento devem consumir o limite de crédito |
Negócio | Na integração das formas de pagamento deve ser identificado quais delas devem consumir limite de crédito na utilização no PDV e no pedido de venda |
Entrega de valor | O processo de integração irá descer as informações necessárias para que o PDV e pedido possa validar o processo de limite de crédito |
Dores e necessidades | Atualizar o saldo do limite de crédito na utilização |
Negócio | Na utilização de um meio de pagamento que utilize limite de crédito, após a finalização da compra deve ser atualizado o limite de crédito do cliente |
Entrega de valor | O processo irá garantir que na utilização o saldo de limite de crédito será atualizado de acordo com o meio de pagamento que consuma o limite de crédito |
Dores e necessidades | cancelar uma venda atualizar o saldo de limite de crédito |
Negócio | Ao efetuar o cancelamento de uma venda com meio de pagamento que tenha consumido limite de crédito o valor do saldo deve ser atualizado de acordo com o valor da venda cancelada |
Entrega de valor | O processo irá garantir que na utilização o saldo de limite de crédito será atualizado de acordo com o cancelamento de uma venda |
Dores e necessidades | Permitir vender com mais de uma forma de pagamento e limite de crédito |
Negócio | ao efetuar uma venda com mais de um meio de pagamento onde apenas um controla limite de crédito o valor de atualização do saldo deve ocorrer referente apenas ao valor pago com o meio de pagamento que controla limite de crédito |
Entrega de valor | O processo irá garantir que na utilização o saldo de limite de crédito será atualizado de acordo com o meio de pagamento que controla limite de crédito |
Dores e necessidades | Necessidade de valor excedente de liberação de limite de crédito |
Negócio | Parametro no cadastro da loja com o percentual de valor excedente de limite de crédito para operação na venda, quando ultrapassar o valor do limite de crédito deve ser validado se existe percentual no cadastro da loja para validação |
Entrega de valor | Permitir que uma venda possa ultrapassar o valor de limite de acordo com o percentual cadastrado na loja |
3. Tabelas e campos novos - PDV Omni
...
Nome do campo | Tipo do campo | Obrigatorio |
---|---|---|
utiliza_limite_credito | boolean | opcional |
3.2 Tabela: loja
Nome do campo | Tipo do campo | Obrigatorio |
---|---|---|
limite_credito_forma_pagamento | boolean | opcional |
4. Definição de contratos de API:
...
4.1 Contrato de consulta de limite de crédito
Request:
Campo | Tipo | Descrição | Tipo Parâmetro | Obrigatório | Observação |
---|---|---|---|---|---|
IdInquilino | string | Identificador do Inquilino | Parameter/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. |
IdRetaguardaLoja | string | Identificador da loja na retaguarda | Parameter/Path/Query Params | Sim | |
cpfCnpj | string | Documento do cliente | Header | Sim |
Response:
Campo | Tipo | Descrição | Obrigatório | Observação |
---|---|---|---|---|
success | bool | Indica se a consulta de limite de crédito ocorreu corretamente | Sim | Exemplo: 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. |
message | string | Mensagem de retorno de erros | Não | Sempre que possível em caso de erro justificar o erro nesse campo. |
limitesCredito | Lista de objetos | Lista com dos limites de créditos retornados | Não | Deve ser enviado sempre que houver retorno de true no atributo "success". |
limitesCredito.saldoDisponivel | double | Saldo do crédito disponível | Não | Deve ser enviado sempre que houver retorno de true no atributo "success". |
limitesCredito.idRetaguardaLimiteCredito | string | Identificador do limite de crédito caso exista | Nã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
Request:
Campo | Tipo | Descrição | Tipo Parâmetro | Obrigatório | Observação |
---|---|---|---|---|---|
IdInquilino | string | Identificador do Inquilino | Parameter/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. |
IdRetaguardaLoja | string | Identificador da loja na retaguarda | Parameter/Path/Query Params | Sim | |
cpfCnpj | string | Documento do cliente | Header | Sim |
Response:
Campo | Tipo | Descrição | Obrigatório | Observação |
---|---|---|---|---|
success | bool | Indica se a consulta de limite de crédito ocorreu corretamente | Sim | Exemplo: 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. |
message | string | Mensagem de retorno de erros | Não | Sempre que possível em caso de erro justificar o erro nesse campo. |
limitesCredito | Lista de objetos | Lista com dos limites de créditos retornados | Não | Deve ser enviado sempre que houver retorno de true no atributo "success". |
limitesCredito.saldoDisponivel | double | Saldo do crédito disponível | Sim | Caso o ERP não encontre nenhum registro de limite de crédito para o cliente, deve retornar saldo disponível igual a zero. |
limitesCredito.idRetaguardaLimiteCredito | string | Identificador do limite de crédito caso exista | Não | |
limitesCredito.valorUtilizado | double | Valor já consumido do limite de crédito | Sim | |
limitesCredito.valorTotal | double | Valor total do limite de crédito | Sim | Esse valor é composto pela somatória do valorUtilizado e o saldoDisponivel. |
limitesCredito.DetalhesValorUtilizado | Lista de objetos | Lista de detalhamento da composição do limite de crédito já utilizado. | Não |
|
limitesCredito.DetalhesValorUtilizado.total | double | Valor total já utilizado. | Não | Deve ser preenchido caso o atributo "valorUtilizado" seja maior que zero. |
limitesCredito.DetalhesValorUtilizado.tipo | string | Tipo da origem de utilização do crédito. | Não | 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,
"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
...
4.3 4 Contrato descida de dado tabela loja
4.4 5 Contrato utilização de saldo
4.5 6 Contrato cancelamento de venda
...