Objetivo

Este documento tem como objetivo explicar o funcionamento da integração das movimentações do caixa do PDVSYNC para processamento na 2099.

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 PDVSYNC cadastrado em empresa na rotina 2650
StatusATIVO
ID Rota Serviço 
Código da rota de envio ao WTA
{
    "name": "PDVSync - Buscar movimentacoes caixa",
    "request": {
        "method": "GET",
        "header": [
			{
				"key": "Accept",
				"value": "*/*"
			},
			{
				"key": "Content-Type",
				"value": "application/json"
			}
        ],
        "url": {
            "raw": "{{URL_CONSULTA_MOVIMENTACAO_CAIXA}}/{{ID_INQUILINO}}?{{IDSPROPRIETARIO}}",
            "query": []
        }
    },
    "response": []
}
[
	{
		"operation": "br.com.totvs.integracao.winthosmarthube.infra.jolt.custom.JoltModifyCustomOperation",
		"spec": {
			"data": {
				"*": {
					"conteudo": "=base64ToObject(@(1,conteudo))"
				}
			}
		}
	},
	{
		"operation": "modify-overwrite-beta",
		"spec": {
			"data": {
				"*": {
					"conteudo": {
						"idExterno": "=concat('pdvsync-caixamensagem-',@(1,Loja.IdRetaguarda),'-',@(1,TipoMovimento),'-',@(2,id))",
						"idExterno_Tipo_0_1_varejo": "=concat('pdvsync-caixamensagem-',@(1,Loja.IdRetaguarda),'-',@(1,Id))"
					}
				}
			}
		}
	},
	{
		"operation": "shift",
		"spec": {
			"data": {
				"*": {
					"conteudo": {
						"idExterno": [
							"idExterno[&2]"
						],
						"TipoMovimento": {
 							"0": { "@(2,idExterno_Tipo_0_1_varejo)": "items.[&4].idExterno", "@(2,TipoMovimento)": "items.[&4].tipoMovimento" },
              				"1": { "@(2,idExterno_Tipo_0_1_varejo)": "items.[&4].idExterno", "@(2,TipoMovimento)": "items.[&4].tipoMovimento" },
              				"*": { "@(2,idExterno)": "items.[&4].idExterno", "@(2,TipoMovimento)": "items.[&4].tipoMovimento" }
						},
						"Loja": {
							"IdRetaguarda": {
								"999": {
									"#1": "items.[&5].filial"
								},
								"*": {
									"@(2,IdRetaguarda)": "items.[&5].filial"
								}
							}
						},
						"Operador": {
							"IdRetaguarda": "items.[&3].codFunc"
						},
						"DataHora": [
							"items.[&2].dtLanc",
							"items.[&2].dtMovimentoCx"
						],
						"NumeroCaixa": "items.[&2].numCaixa",
						"Id": "items.[&2].numvale",
						"Valor": "items.[&2].valor",
						"#D": "items.[&2].codCob",
						"#WSH-OMNISHOP": "items.[&2].pdvOrigem",
						"IdCaixaoperacao": "items.[&2].numFechamentoMovCx"
					}
				}
			}
		}
	},
	{
		"operation": "default",
		"spec": {
			"_attr_access": "items"
		}
	}
]

Parâmetros: 

CHAVEVALORTIPO DE VALOR
{{URL_CONSULTA_MOVIMENTACAO_CAIXA}}

https://pdvsync-core-comercial-qa-aadivv24nq-ue.a.run.app/api/retaguarda/caixaMensagens

STRING

{{ID_INQUILINO}}
STRING
{{IDSPROPRIETARIO}}SELECT IDSPROPRIETARIO FROM(
   SELECT SYS_CONNECT_BY_PATH(CODIGO,''&listIdProprietario='') IDSPROPRIETARIO
   FROM PCFILIAL p 
   CONNECT BY PRIOR CODIGO  < CODIGO
   ORDER BY LENGTH(IDSPROPRIETARIO) DESC
 )
    WHERE ROWNUM = 1
SELECT


Dados: 

CAMPOVALORDESCRIÇÃO
ID Empresa
Código do Winthor cadastrado em empresa na rotina 2650
StatusATIVO
{
	"name": "WTA - Enviar movimentação caixa",
	"request": {
		"method": "POST",
		"header": [
			{
				"key": "Accept",
				"value": "*/*"
			},
			{
				"key": "Content-Type",
				"value": "application/json"
			}
		],
		"url": {
			"raw": "{{URL_BASE}}/winthor/varejo/v1/movimentacao",
			"query": []
		},
		"bodyraw": {{CLIENT_JSON}}
	},
	"response": []
}
[
	{
		"operation": "default",
		"spec": {
			"status": 2
		}
	}
]


Parâmetros: 

CHAVEVALORTIPO DE VALOR
{{CLIENT_JSON}}:PCINTEGRACAOCORE.DADOSTRANSFORMADOSSTRING
ORDEM DE EXECUÇÃORECURSOMÉTODOROTA
1BuscaRotaServicoNaoPaginadaexecutarRota de busca cadastrada na primeira aba (Rota de busca)
2AutenticadorRefreshTokenApiexecutarRota de login do WTA
3EnvioIntegracaoStatusRecebidoexecutarRota de busca cadastrada na segunda aba (Rota de envio)