...
Data alteração | Motivo | O que mudou? | Aprovadores | Versão |
---|---|---|---|---|
31/01/2025 | Padronização dos contratos | Contrato de retorno dos itens 4.1, 4.2, 4.5 | v3 |
2. O que fazer?
Desenvolver integração para consulta e utilização de limite de crédito com a retaguarda
...
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 |
...
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 | No H1, o idRetaguardaLoja não será validado no Winthor |
cpfCnpj | string | Documento do cliente | Header | Sim |
...
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. |
limitesCreditodetailedmessage | 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
Dúvidas:
Request:
...
Campo
...
Tipo
...
Descrição
...
Tipo Parâmetro
...
Obrigatório
...
Observação
...
*Usado apenas pelo PDV.
Retaguarda não precisa criar API com esse parâmetro, pois o Sync já irá direcionar para o IP correto.
...
Parameter/Path/Query Params
...
Sim
...
Header
...
Sim
Response:
...
Campo
...
Tipo
...
Descrição
...
Obrigatório
...
Observação
...
...
...
string | Mensagem detalhada de erros | Não | Em caso de erro detalhar o erro nesse campo. | |
errors | Erros de execução API sync | Não | Uso PDVSync | |
numberOfRecords | double | Numero de registros | Não | Uso PDVSync |
totalTime | time | Tempo de processamento API | Não | Uso PDVSync |
data | Lista de objetos | Lista padrão | Sim | |
data.saldoDisponivel | double | Saldo do crédito disponível | Não | Deve ser enviado sempre que houver retorno de true no atributo "success". |
data.idRetaguardaLimiteCredito | string | Identificador do limite de crédito caso exista | Não |
Exemplos
Sucesso:
{
"data": [
{
"idRetaguardaLimiteCredito": null,
"saldoDisponivel": 1000.0
}
],
"detailedMessage": null,
"errors": null,
"message": "",
"numberOfRecords": 0,
"success": true,
"totalTime": 0
}
Erro:
{
"success": false,
"message": "Cliente com XPTO não encontrado na base de dados da retaguarda",
"detailedmessage": "",
"data": null,
"errors": null,
"totalTime": 0,
"numberOfRecords": 0
}
4.2 Contrato de consulta de limite de crédito detalhado online
Dúvidas:
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(Retaguarda) | Não | Sempre que possível em caso de erro justificar o erro nesse campo. |
errors | Erros de execução API sync | Não | Uso PDVSync | |
numberOfRecords | double | Numero de registros | Não | Uso PDVSync |
totalTime | time | Tempo de processamento API | Não | Uso PDVSync |
detailedmessage | string | Mensagem detalhada de erros(Retaguarda) | Não | Em caso de erro detalhar o erro nesse campo. |
data | Lista de objetos | Lista padrão | Sim | |
data.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. |
data.idRetaguardaLimiteCredito | string | Identificador do limite de crédito caso exista | Não | |
data.valorUtilizado | double | Valor já consumido do limite de crédito | Sim | |
data.valorTotal | double | Valor total do limite de crédito | Sim | Esse valor é composto pela somatória do valorUtilizado e o saldoDisponivel. |
data.detalhesValorUtilizado | Lista de objetos | Lista de detalhamento da composição do limite de crédito já utilizado. | Não |
|
data.detalhesValorUtilizado.total | double | Valor total já utilizado. | Sim |
|
data.detalhesValorUtilizado.tipo | string | Tipo da origem de utilização do crédito. | Sim |
|
Exemplos
Sucesso:
{
"success": true,
"message": "",
"detailedMessage": null,
"data": [
{
"saldoDisponivel": 800.0,
"idRetaguardaLimiteCredito": "01PSH00000005033CR",
"valorUtilizado": 264.0,
"valorTotal": 372.0,
"detalhesValorUtilizado": [
{
"total": 532.0,
"tipo": "credito total"
}
]
}
],
"errors": null,
"totalTime": 0,
"numberOfRecords": 0
}
Bloco de código | ||
---|---|---|
| ||
idRetaguardaLimiteCredito será o codcli concatenado com o termo 'LIMCRED'
"idRetaguardaLimiteCredito": "193489-LIMCRED", |
Erro:
{
"success": false,
"message": "Não foi possível encontrar limite de crédito para o cliente selecionado.",
"detailedmessage": "",
"data": null,
"errors": null,
"totalTime": 0,
"numberOfRecords": 0
}
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 |
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 |
|
...
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 | |
limitePgamentoFormalimitePagamentoForma | 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. |
...
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 justificara 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. | |||||
errors | Erros de execução API sync | Não | Uso PDVSync | ||||||
numberOfRecords | double | Numero de registros | Não | Uso PDVSync | |||||
totalTime | time | Tempo de processamento API | Não | Uso PDVSync | |||||
detailedmessage | string | Mensagem detalhada de erros(Retaguarda) | Não | Em caso de erro detalhar o erro nesse campo. | |||||
data | Lista de objetos | Lista padrão | Sim | ||||||
data | com dos limites de créditos retornadosNã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". | ||
limitesCreditodata.idRetaguardaLimiteCredito | string | Identificador do limite de crédito caso exista | Não | ||||||
limitesCreditodata.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. | |||||
limitesCreditodata.saldoDetalhadoFormaPagamento.valor | double | Valor por forma de pagamento do limite de crédito | Sim | 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. | |||||
limitesCreditodata.saldoDetalhadoFormaPagamento.idRetaguardaPagamentoForma | string | idRetaguarda relacionado ao tipo de forma de pagamento disponível para o limite de crédito. | Sim |
|
Exemplos
Sucesso:
|
Exemplos
Sucesso:
{
"data": [
{
"idRetaguardaLimiteCredito": null,
"saldoDisponivel": 1000.0,
"saldoDetalhadoFormaPagamento": [
{
"idRetaguardaPagamentoForma": "BL",
"valor": 500.0
}{
"success": true,
"message": null,
"limitesCredito":
[
{
"saldo": 1000.00 ,
"idRetaguardaLimiteCredito": null
"saldoDetalhadoFormaPagamento":
{
[
"idRetaguardaPagamentoForma": "CH",
{
"valor": 500.00,0
"idRetaguardaPagamentoForma": "BL"}
},]
}
{],
"detailedMessage": null,
"valorerrors": 500.00null,
"idRetaguardaPagamentoFormamessage": "CH",
}
]"numberOfRecords": 0,
}
]"success": true,
"totalTime": 0
}
Erro:
{
"success": false,
"message": "Cliente com XPTO não encontrado na base de dados da retaguarda",
"detailedMessage": null,
"data": null,
"errors": null,
"totalTime": 0,
"numberOfRecords": 0
}
4.6 Contrato de consumo/cancelamento de utilização de limite de crédito - INCOMPLETO - NÃO UTILIZAR
...
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 | |
limitePgamentoFormalimitePagamentoForma | 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. |
...