Objetivo

Este documento tem como objetivo explicar o funcionamento da integração do formas de pagamentos (Tipos de cobranças, rotina 522) entre o Winthor e PDVSYNC.

Pré-Requisitos e Restrições

Rotas de serviços

Para integração de formas de pagamentos necessário cadastrar as seguintes rotas e serviços na rotina 2650:


Dados:

CAMPOVALORDESCRIÇÃO
ID Empresa
Código do Winthor cadastrado em empresa na rotina 2650
StatusATIVO
ID Rota Serviço 
Código da rota de envio das formas de pagamentos ao PDVSYNC
{
    "name": "WTA - Buscar tipos cobranças",
    "request": {
        "method": "GET",
        "header": [
            {
                "key": "Authorization",
                "value": "Bearer {{TOKEN}}"
            },
            {
                "key": "Accept",
                "value": "*/*"
            }
        ],
        "url": {
            "raw": "{{URL_BASE}}/winthor/venda/v0/tipos-cobrancas",
            "query": [
				{
						"key": "tamanho",
						"value": "{{PAGE_SIZE}}"
				},
				{
						"key": "pagina",
						"value": "{{PAGE}}"
				} ,
                {
                    "key": "dataUltimaAlteracao",
                    "value": "{{LAST_CHANGE}}"
                }
            ]
        }
    },
    "response": []
}
[
    {
        "operation": "default",
        "spec": {
            "items[]": {
                "*": {
                    "codOperadoraCartao": "cartao_null"
                }
            }
        }
    },
    {
        "operation": "modify-overwrite-beta",
        "spec": {
            "items": {
                "*": {
                    "idExterno": "=concat('pdvsync-cobranca-', @(1,id),'-',@(1,dataAtualizacao))",
                    "id": "=toUpper",
                    "id_verifica_troco": "@(1,id)",
                    "codigoSistemaExterno": "@(1,id)",
                    "descricao": "=concat(@(1,id),' - ',@(1,cobranca))",
                    //COMEÇO "valorMinimoPedido" PARA PT_BR
                    "valorMinimoPedido_str": "=toString(@(1,valorMinimoPedido))",
                    "valorMinimoPedido_arr": "=split('\\.',@(1,valorMinimoPedido_str))",
                    "valorMinimoPedido": "=join(',',@(1,valorMinimoPedido_arr))"
                    //FIM "valorMinimoPedido" PARA PT_BR
                }
            }
        }
    },
    {
        "operation": "shift",
        "spec": {
            "items": {
                "*": {
                    "idExterno": "idExterno[]",
                    "id": "items.[&1].idRetaguarda",
                    "codFilial": {
                        "99": {
                            "#{{MASTER_ID_PROPRIETARIO}}": "items.[&3].idProprietario"
                        },
                        "*": {
                            "@1": "items.[&3].idProprietario"
                        }
                    },
                    "cobranca": "items.[&1].descricaofiscal",
                    "descricao": "items.[&1].descricao",
                    "nivelvenda": {
                        "0": {
                            "#0": "items.[&3].situacao"
                        },
                        "*": {
                            "#1": "items.[&3].situacao"
                        }
                    },
                    "id_verifica_troco": {
                        "D": {
                            "#1": "items.[&3].permiteTroco",
                            "#TR": "items.[&3].idRetaguardaFormaPagTroco"
                        },
                        "DH": {
                            "#1": "items.[&3].permiteTroco",
                            "#TR": "items.[&3].idRetaguardaFormaPagTroco"
                        },
                        "CH*": {
                            "#1": "items.[&3].permiteTroco",
                            "#TR": "items.[&3].idRetaguardaFormaPagTroco"
                        }
                    },
                    "valorMinimoPedido": "items.[&1].valorMinimoAceito",
                    "codigoSistemaExterno": "items.[&1].codigoSistemaExterno",
                    "codOperadoraCartao": {
                        "cartao_null": {
                            "@(2,id)": {
                                "D": {
                                    "#1": "items.[&5].tipo"
                                },
                                "DH": {
                                    "#1": "items.[&5].tipo"
                                },
                                "TR": {
                                    "#0": "items.[&5].tipo"
                                },
                                "CH": {
                                    "#4": "items.[&5].tipo"
                                },
                                "CH*": {
                                    "#4": "items.[&5].tipo"
                                },
                                "PIX": {
                                    "#8": "items.[&5].tipo"
                                },
                                "PIX*": {
                                    "#8": "items.[&5].tipo"
                                },
                                "*": {
                                    "#0": "items.[&5].tipo"
                                }
                            }
                        }
                    },
                    "operadoras": {
                        "*": {
                            "codcob": [
                                "items.[&3].formasPagtoOperadoras[&1].idRetaguarda",
                                "items.[&3].formasPagtoOperadoras[&1].idRetaguardaFormaPagto",
                                "items.[&3].formasPagtoOperadoras[&1].idRetaguardaOperadoraPagto"
                            ],
                            "#1": "items.[&3].formasPagtoOperadoras[&1].situacao",
                            "tipoOperacaoTef": {
                                "codTipoTef": {
                                    "01": {
                                        "#3": "items.[&6].tipo"
                                    },
                                    "02": {
                                        "#2": "items.[&6].tipo"
                                    },
                                    "*": {
                                        "#0": "items.[&6].tipo"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    {
        "operation": "default",
        "spec": {
            "_attr_access": "items",
            "items[]": {
                "*": {
                    "idInquilino": "{{ID_INQUILINO}}",
                    "loteOrigem": "{{LOTE_ORIGEM}}",
                    "idProprietario": "{{MASTER_ID_PROPRIETARIO}}",
                    "situacao": 0,
                    "permiteTroco": 0,
                    "valorMinimoAceito": 0
                }
            }
        }
    }
]

Parametros: 

CHAVEVALORTIPO DE VALOR
{{LAST_CHANGE}}

    SELECT
    TO_CHAR(
        NVL((SELECT MAX(DATACRIACAO) FROM PCINTEGRACAOCORE WHERE IDROTASERVICO = :IDROTASERVICO AND STATUS=2), TO_DATE('01/01/1900')) -1,
        'RRRR-MM-DD"T"HH24:MI:SS'
    ) DT
FROM DUAL

SELECT


Dados: 

CAMPOVALORDESCRIÇÃO
ID Empresa
Código do Winthor cadastrado em empresa na rotina 2650
StatusATIVO
{
	"name": "PDV-SYNC Enviar formas de pagamentos",
	"request": {
		"method": "POST",
		"header": [
			{
				"key": "Accept",
				"value": "*/*"
			},
			{
				"key": "Content-Type",
				"value": "application/json"
			}
		],
		"url": {
			"raw": "{{URL_ENVIAR_FORMAS_PGMT}}",
			"query": []
		},
		"bodyraw": {{CLIENT_JSON}}
	},
	"response": []
}
[
	{
		"operation": "default",
		"spec": {
			"status": 2
		}
	}
]


Parâmetros: 

CHAVEVALORTIPO DE VALOR
{{MASTER_ID_PROPRIETARIO}}
STRING
{{ID_INQUILINO}}
STRING
{{CLIENT_JSON}}:PCINTEGRACAOCORE.DADOSTRANSFORMADOSSTRING
{{{{URL_ENVIAR_FORMAS_PGMT}}}}https://pdvsync-core-formapagto-qa-aadivv24nq-ue.a.run.app/api/retaguarda/formapagtosSTRING
ORDEM DE EXECUÇÃORECURSOMETODOROTA
1AutenticadorRefreshTokenApiexecutarRota de login winthor
2BuscaRotaServicoPaginadaexecutarRota de busca cadastrada na primeira aba (Rota de busca)
3CriaVariavelTemporariaexecutarRota de cria variável temporária (LOTE DE ORIGEM)
4EnvioIntegracaoStatusRecebidoLoteexecutarRota de envio cadastrada na segunda aba (Rota de envio)
5FinalizaVariavelTemporariaexecutarRota de encerrar variável temporária (LOTE DE ORIGEM)
6ConsultarStatusPosIntegracaoexecutarRota de consulta lote de origem (PDVSYNC - Consultar lote de origem)