...
Este documento tem como objetivo explicar o funcionamento da integração do Pedido de Venda.de reserva de estoque do PDVSync.
Pré-Requisitos e Restrições
- Necessário a instalação do serviço winthor-pedido-venda.
- Para reservar o estoque o campo situacaoPreVenda deve está igual a 1.
- Os pedidos entraram sempre será gravado como bloqueado.
- Caso o atributo "operador.idRetaguarda" não seja enviado na requisição, a API consultará o RCA definido no parâmetro "4012 - Código do RCA para cadastro de clientes na Ciashop" da rotina 132- Parâmetros da Presidência.
- A tabela PCLOGPEDIDOAPI, é responsável por guardar os retornos dos pedidos importados via integração, sendo Operação (I - inclusão, A - alteração, C - cancelamento) e Status (A - Aceito, R - Rejeitado, P - Processando).
- Ao inserir um pedido através da API, o campo "PCPEDI.PBASERCA" gravará de acordo com o campo “PCPEDI.PTABELA”, não é necessário enviá-lo pela API.
- No envio do JSON deve-se enviar no campo preVendaItens.produto.idRetaguarda o código auxiliar seguido do código do produto. Exemplo: 100-1 1. Lembrando que o IdRetaguarda dos produtos na base do PDV já seguem esse padrão e são enviadas pelo WSH assim.
- API criada com base da documentação fornecida pelo PDVSync: https://pdvsync-core-controle-dev-aadivv24nq-ue.a.run.app/swagger/index.html?urls.primaryName=V2
- Caso o cadastro do cliente esteja completo o cliente já vai ser inserido neste processo de reserva de estoque.
'
Integração
Totvs custom tabs box |
---|
tabs | Dados integrados c/ Winthor, Gravação Pedido/Retorno |
---|
ids | passo1,passo2 |
---|
|
A integração consiste em receber e enviar dados do pedido que serão utilizados para reserva de estoque Totvs custom tabs box items |
---|
default | yes |
---|
referencia | passo1 |
---|
| Os dados integrados são: API | Descrição | Coluna | Tipo | Obrigatório | situacaoPreVenda | 0 = CANCELADA
1 = RECEBIDO
2 = DISPONIVEL
3 = RESGATADA |
| int | SIM | numero | Identificação do pedido no PDV. | PCPEDC.NUMPEDHUBE | String | SIM | observacoes |
| PCPEDC.OBS |
|
| operador.idRetaguarda | Matricula do funcionário. Caso não informado irá usar o RCA do parâmetro 4012. | PCPEDC.CODUSUR | long | NÃO | loja.idRetaguarda | Código da filial filial. |
|
| SIM | preVendaItens.*.quantidade | Deve ser maior que zero zero. | PCPEDI.QT | int | SIM | preVendaItens.*.preco | Deve ser maior que zero zero. | PCPEDI.PVENDA |
|
| preVendaItens.*.desconto | Valor de desconto desconto. |
|
| NÃO | preVendaItens.*.descontoPercentual | Percentual de desconto desconto. |
|
| NÃO | preVendaItens.*.produto.idRetaguarda | Código auxiliar mais o código do produto. Ex: 123-1. | PCPEDI.CODPROD |
| SIM | preVendaItens.*.vendedor.idRetaguarda |
|
|
| NÃO | preVendaItens.*.lojaEntrega.idRetaguarda | Código da filial retira. |
|
| NÃO | cliente | Caso não seja informado o cliente será usado o cliente consumidor final. Caso o cliente esteja com o cadastro completo, ele já será gravado na base do winthor winthor . |
|
| NÃO | cliente.bairro | Este campo é obrigatório para gravar o cliente, caso não seja informado o cliente não será gravado e será usado o cliente consumidor final para gerar a reserva de estoque |
|
| NÃO | cliente.telefone | Caso não preenchido será usado o campo celular |
|
| NÃO | cliente.celular | Caso não preenchido será usado o campo telefone |
|
| NÃO | cliente.cep | Este campo é obrigatório para gravar o cliente, caso não seja informado o cliente não será gravado e será usado o cliente consumidor final para gerar a reserva de estoque |
|
| NÃO | cliente.cidade | Este campo é obrigatório para gravar o cliente, caso não seja informado o cliente não será gravado e será usado o cliente consumidor final para gerar a reserva de estoque |
|
| NÃO | cliente.complemento |
|
|
| NÃO | cliente.cpfCnpj | Este campo é obrigatório para gravar o cliente, caso não seja informado o cliente não será gravado e será usado o cliente consumidor final para gerar a reserva de estoque
Caso já exista um cliente com mesmo CGC e o idRetaguarda não seja informado será usado o cliente mais antigo que contém o mesmo CGC |
|
| NÃO | cliente.email | Este campo é obrigatório para gravar o cliente, caso não seja informado o cliente não será gravado e será usado o cliente consumidor final para gerar a reserva de estoque |
|
| NÃO | cliente.endereco | Este campo é obrigatório para gravar o cliente, caso não seja informado o cliente não será gravado e será usado o cliente consumidor final para gerar a reserva de estoque |
|
| NÃO | cliente.estado | Este campo é obrigatório para gravar o cliente, caso não seja informado o cliente não será gravado e será usado o cliente consumidor final para gerar a reserva de estoque |
|
| NÃO | cliente.idRetaguarda | Código cliente |
|
| NÃO | cliente.numero |
|
|
| NÃO |
|
|
|
|
|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo2 |
---|
| Exemplo do envio da requisição: Bloco de código |
---|
| method: 'POST',
url: '/api/wholesale/v1/orders/pdvsync' |
Bloco de código |
---|
language | js |
---|
title | Body Request |
---|
| {
"situacaoPreVenda": "1",
"numero": "1234556",
"observacoes": "venda de teste",
"operador": {
"idRetaguarda": "1"
},
"loja": {
"idRetaguarda": "1"
},
"preVendaItens": [
{
"quantidade": 1.0,
"preco": 24.9,
"desconto": 0.0,
"descontoPercentual": 0.0,
"produto": {
"idRetaguarda": "2-2"
},
"vendedor": {
"idRetaguarda": "string"
},
"lojaEntrega": { "idRetaguarda": "1" }
}
]
} |
Bloco de código |
---|
language | js |
---|
title | Body Response |
---|
| {
"success": true,
"hasNext": false,
"message": "",
"data": {
"idRetaguardaPedido": "54434",
"message": "",
"success": true
}
} |
|
|