...
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 |
...
4. Definição de contratos de API:
4.1 Contrato de consulta de limite de crédito online
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 online
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 |
|
4.2 Contrato descida de dado forma de pagamento
4.3 Contrato descida de dado tabela loja
4.4 Contrato utilização de saldo
| ||||
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
Campo | Tipo | Descrição | Obrigatório | Campo PDV | Observação |
---|---|---|---|---|---|
utilizaLimiteCredito | bool | Indica se a forma de pagamento é elegível a utilizar limite de crédito. | Não | Tabela - pagamento_forma campo - utiliza_limite_credito |
|
4.4 Contrato descida de dado tabela loja
Campo | Tipo | Descrição | Obrigatório | Campo PDV | Observação |
---|---|---|---|---|---|
limiteCreditoFormaPagamento | bool | Indica se a loja trabalha com limite de crédito por forma de pagamento. | Não | Tabela - loja campo - limite_credito_forma_pagamento |
|
4.5 Contrato de consulta de limite de crédito por forma de pagamento online
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 | |
limitePgamentoForma | bool | Indica 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 |
---|---|---|---|---|
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 | |
limitesCredito.saldoDetalhadoFormaPagamento | Lista de objetos | Lista com os limites de créditos retornados por forma de pagamento | 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. |
limitesCredito.saldoDetalhadoFormaPagamento.valor | double | Valor por forma de pagamento do 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. |
limitesCredito.saldoDetalhadoFormaPagamento.idRetaguardaPagamentoForma | string | idRetaguarda relacionado ao tipo de forma de pagamento disponível para o limite de crédito. | Não |
|
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
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 | |
limitePgamentoForma | bool | Indica 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:
...