Este documento tem como objetivo explicar o funcionamento da geração de pedidos provenientes da integração com o PDVSync.
Pré-Requisitos e Restrições
Necessário a instalação do serviçowinthor-pedido-venda.
Para gerar o pedido, o campo situacaoPreVenda deve está igual a RECEBIDO.
Caso o atributo "idOperadorRetaguarda" 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" 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).
No envio do JSON deve-se enviar no campo preVendaItens.idProdutoRetaguarda o código auxiliar seguido do código do produto. Exemplo: 100-1. Lembrando que o IdRetaguarda dos produtos na base do PDV já seguem esse padrão e são enviadas pelo WSH assim.
No envio do json, é obrigatório a informação do campo idRetaguarda. Esse campo é referente a reserva realizada anteriormente.
Caso o cadastro do cliente esteja completo o cliente já vai ser inserido neste processo do pedido.
A regra para gravação ou alteração do cliente seguirá o definido na api de clientes que já existe hoje. Doc: APIs Integrações - Clientes
Ao enviar o cliente, será validado o parâmetro4672 - Aceita validar CEP online nas APIs do WinThor da rotina 132 permite validar se o CEP informado está valido em API terceiros (ViaCEP e ByJG). Caso falso, essa validação não ocorrerá. O padrão do parâmetro é "Sim";
'
Integração
A integração consiste em receber e enviar dados do pedido que será incluído no winthor.
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
modalidadeFrete
Utiliza despacho de frete (freteiros) Valores:
"C" - CIF - Contratação do Frete por conta do Remetente ( modalidadeFrete= 0) "F" - FOB - Contratação do Frete por conta do Destinatário ( modalidadeFrete= 1) "T" - Contratação do Frete por conta de Terceiros ( modalidadeFrete= 2) "R" - Transporte Próprio por conta do Remetente ( modalidadeFrete= 3) "D" - Transporte Próprio por conta do Destinatário ( modalidadeFrete= 4) "G" - Gratuito - Sem Ocorrência de Transporte ( modalidadeFrete= 9)
PCPEDC.FRETEDESPACHO
int
NÃO
observacoes
PCPEDC.OBS
NÃO
idOperadorRetaguarda
Matricula do funcionário. Caso não informado irá usar o RCA do parâmetro 4012.
PCPEDC.CODUSUR
long
NÃO
idLojaRetaguarda
Código da filial.
SIM
preVendaItens.*.quantidade
Deve ser maior que zero.
PCPEDI.QT
int
SIM
preVendaItens.*.preco
Deve ser maior que zero.
PCPEDI.PVENDA
SIM
preVendaItens.*.desconto
Valor de desconto.
NÃO
preVendaItens.*.descontoPercentual
Percentual de desconto.
NÃO
preVendaItens.*.idProdutoRetaguarda
Código auxiliar mais o código do produto. Ex: 123-1.
PCPEDI.CODPROD
SIM
preVendaItens.*.idVendedorRetaguarda
NÃO
preVendaItens.*.entrega.idRetaguardaLojaEntrega
Código da filial retira.
PCPEDI.CODFILIAL
SIM
preVendaItens.*.entrega.tipoEntrega
0 = RETIRA_IMEDIATA("RI", "Retira Imediata"),
1 = RETIRA_POSTERIOR("RP", "Retira Posterior"),
2 = ENTREGA_NORMAL("EN", "Entrega Normal")
3 = ENCOMENDA("EF", "Encomenda")
PCPEDI.TIPOENTREGA
SIM
preVendaItens.*.entrega.dataEntrega
Data da entrega do item
PCPEDI.DTENTREGA
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 .
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
VendaPagamentos.valorLiquido
Valor líquido
PCFORMAPGTOPEDIDO.VALOR
SIM
VendaPagamentos.pagamentoForma.idRetaguarda
Forma de pagamento
PCFORMAPGTOPEDIDO.CODCOB
SIM
VendaPagamentos.pagamentoForma.descricao
Descrição da forma de pagamento
NÃO
VendaPagamentos.vendaPagamentoItems.valorParcela
Valor da parcela
PCFORMAPGTOPEDIDO.VALOR (Só utilizado caso cobrança cartão com parcelas)