Páginas filhas
  • APIs Integrações - Pedido PDVSync - INTERNA

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Necessário a instalação do  serviço  winthor-integracao-matcon
  • Disponibilizamos o pedido com a situacaoPreVenda = DISPONIVEL para que o PDV possa consumir e receber o pagamento;
  • São disponibilizados somente os pedidos provenientes do módulo de home center do WinThor (Rotina 4116);
  • No processo de venda assistida, disponibilizamos apenas o pedido TV7;
  • Ao disponibilizar os dados de clientes, são consideradas as informações de consumidor final identificado na tabela PCVENDACONSUM do WinThor. Caso seja um cliente cadastrado, os dados retornados são provenientes da tabela PCCLIENT;
  • A informação de múltiplas cobranças é proveniente da tabela PCPRESTPEDIDO do WinThor;
  • Caso o parâmetro rescueTv1 esteja com valor true, a consulta irá buscar pedidos TV1. Caso o parâmetro 4755 - Usa resgate de pedidoTV1 no PDV Omni, rotina 132 por filial, esteja com valor Sim, a consulta irá buscar pedidos TV1. Mas para isso ocorrer, os pedidos devem ser do tipo TV1 (PCPEDC.CONDVENDA=1); o tipo de documento do pedidoo ou do cliente devem ser diferentes  de nota fiscal (NVL(PCPEDC.TIPODOCUMENTO, NVL(PCCLIENT.TIPODOCUMENTO,'A')) <> 'N'); a posição do pedido deve ser M ou L se a origem do pedido for W (PCPEDC.POSICAO = 'M') OR (PCPEDC.POSICAO = 'L' AND ORIGEMPED = 'W'); a origem do pedido deve ser 'F','R','B','T','C','W'; caso o cliente seja 1, 2 ou 3 deve existir registro na tabela PCVENDACONSUM; o código auxiliar do item do pedido deve existir registro na tabela PCEMBALAGEM para a filial do pedido e o campo PCEMBALAGEM.DTINATIVO não deve estar preenchido; o campo PCPRODUT.TIPOMERC do item do pedido não pode ser 'IC'; o produto deve ser revenda (NVL(PCPRODUT.REVENDA,'S') e NVL(PCPRODFILIAL.REVENDA,'S'); e o preço de venda na PCPEDI não deve ser nulo ou zero.
  • Caso o parâmetro "dataInicio" não seja informado, será considerado os pedidos dos últimos 15 dias, retroativos data atual.

 Integração


Totvs custom tabs box
tabsDados integrados c/ Winthor, Gravação Pedido/Retorno, Consulta de pedidos Originados no WinThor
idspasso1,passo2,passo3

A integração consiste em receber e enviar dados do pedido que será incluído no winthor.

Totvs custom tabs box items
defaultyes
referenciapasso1

Os dados integrados são: 

APIDescriçãoColunaTipoObrigatório
situacaoPreVenda0 = CANCELADA

1 = RECEBIDO

2 = DISPONIVEL

3 = RESGATADA

intSIM
numeroIdentificação do pedido no PDV.PCPEDC.NUMPEDHUBEStringSIM
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.FRETEDESPACHOintNÃO
observacoes
PCPEDC.OBS
NÃO
idOperadorRetaguardaMatricula do funcionário. Caso não informado irá usar o RCA do parâmetro 4012.PCPEDC.CODUSURlongNÃO
idLojaRetaguardaCódigo da filial.

SIM
preVendaItens.*.quantidadeDeve ser maior que zero. PCPEDI.QTintSIM
preVendaItens.*.precoDeve ser maior que zero. PCPEDI.PVENDA
SIM
preVendaItens.*.descontoValor de desconto. 

NÃO
preVendaItens.*.descontoPercentualPercentual de desconto. 

NÃO
preVendaItens.*.idProdutoRetaguardaCódigo auxiliar mais o código do produto. Ex: 123-1.PCPEDI.CODPROD
SIM
preVendaItens.*.idVendedorRetaguarda


NÃO
preVendaItens.*.entrega.idRetaguardaLojaEntregaCó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.dataEntregaData da entrega do itemPCPEDI.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.bairroEste 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.telefoneCaso não preenchido será usado o campo celular

NÃO
cliente.celularCaso não preenchido será usado o campo telefone

NÃO
cliente.cepEste 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.cidadeEste 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.emailEste 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.estadoEste 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.idRetaguardaCódigo cliente

NÃO
cliente.numero


NÃO
VendaPagamentos.valorLiquidoValor líquidoPCFORMAPGTOPEDIDO.VALOR
SIM
VendaPagamentos.pagamentoForma.idRetaguardaForma de pagamentoPCFORMAPGTOPEDIDO.CODCOB
SIM
VendaPagamentos.pagamentoForma.descricaoDescrição da forma de pagamento

NÃO
VendaPagamentos.vendaPagamentoItems.valorParcelaValor da parcelaPCFORMAPGTOPEDIDO.VALOR (Só utilizado caso cobrança cartão com parcelas)
NÃO
VendaPagamentos.vendaPagamentoItems.dataVencimentoData de vencimento da parcelaVLFRETE PCFORMAPGTOPEDIDO.DTVENC (Só utilizado caso cobrança cartão com parcelas)
NÃO

PreVendaPagamentos.vendaPagamentoTefs.nsuHost

NSUPCFORMAPGTOPEDIDO.NSU (Só utilizado caso cobrança cartão com parcelas)
NÃO
freteTotalCampo preenchido no caso de teste unitário
intNÃO

Caso seja enviado o valor do frete maior que zero, o campo (PCPEDC.DTCALCFRETE) será preenchido.PCPEDC.DTCALCFRETEData (DD/MM/YYY)NÃO

codigoCobranca

Caso seja enviado, será adicionado na tabela PCPEDC.CODCOB o valor. Caso valor esteja vazio na hora da reserva, assumira um valor default.PCPEDC.CODCOBStringNAO
Totvs custom tabs box items
defaultno
referenciapasso2

Exemplo do envio da requisição:


Bloco de código
languagetext
titleURI
method: 'POST',
url: '/winthor/varejo/matcon/v1/orders/pdvsync'
Bloco de código
languagejs
titleBody Request
{   
    "NumeroVenda": null,
    "TipoPreVenda": 1,
    "Data": "2023-04-13T16:33:29.946503",
    "CpfConsumidor": null,
    "CpfCliente": "111111111111",
    "DescontoTotal": 0.0,
    "TotalLiquido": 6.130000,
    "TotalBruto": 6.130000,
    "IdLojaRetaguarda": 1,
	"freteTotal ": 0.0,   
	"CodigoPromocional": null,
    "situacaoPreVenda": "RECEBIDO",
    "modalidadeFrete": "2",
    "NomeConsumidor": null,
    "EnderecoCliente": "RUA GIOTO",
    "NomeCliente": "Cliente 0123",
    "IdOperadorRetaguarda": 1,
    "idVendedorRetaguarda": "1",      
    "SistemaOrigem": 1,
    "TerminalOrigem": null,
    "TipoEntrega": 0,
    "Sincronizado": 0,
    "TipoDescontoAcrescimo": null,
    "DescontoPercentualTotal": 0.0,
    "IdMotivoDesconto": null,
    "DescricaoMotivoDescontoAcrescimo": null,
    "IdTransacaoMotorPromocaoTerceiro": null,
    "SerieVenda": null,
    "NumeroAutorizacao": null,
    "TipoVenda": 1,
    "TipoCancelamento": null,
    "IdCanalVenda": null,
	"codigoCobranca",
    "DescontoMotorPromocaoAplicado": false,
    "PreVendaItens": [
        {
            "quantidade": 1.0,
            "preco": 24.9,
            "desconto": 0.0,
            "descontoPercentual": 0.0,
            "idProdutoRetaguarda": "3-3",
            "idVendedorRetaguarda": "1",
                       "entrega": {
                "idLojaEntregaRetaguarda": "1",
                "TipoEntrega": 1,
                "dataEntrega": "2022-04-25T17:08:56.18511"
            }
        },
 {
            "acrescimo": 0,
            "acrescimoPercentual": 0,
            "dataAtualizacao": "2024-02-08T16:24:55.668315",
            "dataCadastro": "2024-02-08T16:24:55.668313",
            "desconto": 0.0,
            "descontoPercentual": 0.0,
            "entrega": {
                "dataEntrega": "2024-03-28T00:00:00",
                "idLojaEntregaRetaguarda": "2",
                "tipoEntrega": 2,
                "frete": 0,
                "fretePercentual": 0,
                "situacao": 0,
                "dataCadastro": "0001-01-01T00:00:00",
                "dataAtualizacao": "0001-01-01T00:00:00",
                "sequencial": 0,
                "_expandables": []
            },
            "frete": 0,
            "fretePercentual": 0,
            "idPreVenda": "{{$randomInt}}",
            "idProdutoRetaguarda": "55555-4551",
            "idVendedorRetaguarda": "1",
            "preco": 150.00,
            "quantidade": 1,
            "quantidadeEncomenda": 0,
            "quantidadeFaturada": 0,
            "sequencial": 0,
            "situacao": 1,
            "id": 8088,
            "_expandables": [],
            "itensKit": [
                {
                    "idProdutoRetaguarda": "7891132019021-3",
                    "sequencial": 1,
                    "preco": 50,
                    "quantidade": 2
                },
                {
                    "idProdutoRetaguarda": "7891132019045-4",
                    "sequencial": 2,
                    "preco":50,
                    "quantidade": 2
                }
            ]
        }     ],
    "vendaPagamentos": [
        {
            "valorLiquido": 1.0,
            "valorPago": 24.9,
            "valorTroco": 0.0,
            "idPagamentoCondicaoRetaguarda": 0.0,
            "pagamentoForma":
                {
                    "descricao": "DINHEIRO EM TRANSITO",
                    "idRetaguarda": "DH"
                },            
            "vendaPagamentoItems": [
                {
                    "dataVencimento": "2022-05-10T17:08:56.18511",
                    "valorParcela": 24.9,
                    "numeroParcela": 1
                }
            ]
        }
    ],
    "Cliente": {
        "Nome": "Cliente alterar",
        "Endereco": "RUA GIOTO",
        "Numero": "S/N",
        "Complemento": "",
        "Bairro": "SETOR GENTIL",
        "Cidade": "GOIANIA",
        "Estado": "GO",
        "Cep": "74916-100",
        "Telefone": "",
        "Celular": "62900000000",
        "Email": "[email protected]",
        "DataNascimento": "2001-04-01T00:00:00",
        "PessoaFisica": 1,
        "CpfCnpj": "40141279079",
        "RgInscricao": "6346333",
        "Sexo": 2,
        "EstadoCivil": 2,
        "AvatarUrl": "",
        "Enviarpnet": 0,
        "Atividade": null,
        "Cracha": null,
        "Situacao": 1,
        "Id": 4,
        "IdRetaguarda": "00000000-0000-0000-0000-000000000000",
        "DataCadastro": "2023-03-29T13:51:38.556565",
        "DataAtualizacao": "2023-03-29T13:51:38.55657",
        "_expandables": []
    },
    "Situacao": 0,
    "IdRetaguarda": 54382,
    "Id": "20230612140631122023235",
    "numero": "20230612140631122023235",
    "DataCadastro": "2023-04-13T16:32:45.651279",
    "DataAtualizacao": "2023-04-13T16:33:30.123302",
    "_expandables": []
}



Bloco de código
languagejs
titleBody Response
{    
	"success": true,
    "hasNext": false,
    "message": "",
    "data": {
        "idRetaguardaPedido": "1007217",
        "cliente": {
            "idRetaguardaCliente": "770"
        },
        "message": "",
        "success": true
    } 
} 



Totvs custom tabs box items
defaultno
referenciapasso3

Exemplo do envio da requisição:


Bloco de código
languagetext
titleURI lista de pedidos
method: 'GET',
url: '/winthor/varejo/matcon/v1/orders/pdvsync/consulta/'
Bloco de código
languagejs
titleParams
idRetaguarda            : 0				    - Número do Pedido no WinThor
idLojaRetaguarda        : 2                 - Código da Filial **requerido**
cpfCliente              : String            - CPF ou CNPJ do cliente
nomeCliente             : String            - Nome do Cliente
idOperadorRetaguarda    : String            - Código do Vendedor no WinThor
dataInicio              : Timestamp         - Data inicial da busca (Formato: 2023-07-25T11:43:45.086336)
dataFim                 : Timestamp         - Data final da busca (Formato: 2023-07-25T11:43:45.086336)
idClienteRetaguarda     : 0                 - Código do Cliente no WinThor
rescueTv1               : false             - Resgata pedido TV1
Bloco de código
languagejs
titleBody Response
{
    "success": true,
    "hasNext": false,
    "message": "",
    "data": [
        {
            "offline": false,
            "idRetaguarda": "10000908",
    		"cliente": {
                "nome": "CONSUMIDOR FINAL",
                "cpfCnpj": "970.175.080-25"
            },             
			"situacaoPreVenda": "DISPONIVEL",
            "idLojaRetaguarda": "2",
            "idOperadorRetaguarda": "10",
            "totalLiquido": 75.22,
            "descontoPercentualTotal": 9.991624,
            "acrescimoPercentualTotal": 0,
            "totalBruto": 83.57,
            "multiplosPedidos": false,
            "dataCadastro": "2023-08-02T23:27:00"
        }
    ]
} 
Bloco de código
languagetext
titleURI pedido detalhado
method: 'GET',
url: '/winthor/varejo/matcon/v1/orders/pdvsync/consulta/{idRetaguarda}'
Bloco de código
languagejs
titleBody Response
{
    "success": true,
    "hasNext": false,
    "message": "",
    "data": {
        "offline": false,
        "idRetaguarda": "1002232",
        "cliente": {
            "nome": "CONSUMIDOR FINAL",
            "endereco": "RUA 1",
            "bairro": "CENTRO",
            "cidade": "GOIANIA",
            "estado": "GO",
            "cep": "74825110",
            "telefone": "6298754444",
            "celular": "6298754444",
            "email": "[email protected]",
            "cpfCnpj": "97017508025",
            "clienteAlterado": false
        },
        "situacaoPreVenda": "DISPONIVEL",
        "preVendaItens": [
            {
                "quantidade": 2.5,
                "preco": 13.652100,
                "descontoPercentual": 0,
                "acrescimoPercentual": 0,
                "quantidadeEncomenda": 0,
                "idPreVenda": 0,
                "idProdutoRetaguarda": "1",
                "idProdutoEmbalagemRetaguarda": "7891132010387",
                "entrega": {
                    "idLojaEntregaRetaguarda": "2",
                    "tipoEntrega": "0"
                }
            },
            {
                "quantidade": 1,
                "preco": 252.48,
                "descontoPercentual": 0,
                "acrescimoPercentual": 0,
                "quantidadeEncomenda": 0,
                "idPreVenda": 0,
                "idProdutoRetaguarda": "55555-4551",
                "idProdutoEmbalagemRetaguarda": "55555-4551",
                "entrega": {
                    "idLojaEntregaRetaguarda": "2",
                    "tipoEntrega": "1"
                },
                "itensKit": [
                    {
                        "idProdutoRetaguarda": "7891132019045-4",
                        "sequencial": 1,
                        "preco": 61.88,
                        "quantidade": 2
                    },
                    {
                        "idProdutoRetaguarda": "7891132019021-3",
                        "sequencial": 2,
                        "preco": 64.36,
                        "quantidade": 2
                    }
                ]
            },         ],
        "preVendaPagamentos": [
            {
                "valorPago": 34.13,
                "pagamentoForma": {
                    "idRetaguarda": "D"
                },
                "pagamentoCondicao": {},
                "quantidadeParcelas": 0
            }
        ],
        "idLojaRetaguarda": "2",
        "idOperadorRetaguarda": "1",
        "totalLiquido": 34.13,
        "descontoPercentualTotal": 0,
        "descontoTotal": 0,
        "acrescimoPercentualTotal": 0,
        "acrescimoTotal": 0,
        "freteTotal": 0,
        "totalBruto": 34.13,
        "multiplosPedidos": false,
        "dataCadastro": "2023-09-08T10:09:00"
    }
}