Árvore de páginas

Versões comparadas

Chave

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

...

TIPOS DE STORAGE E CASOS DE USO:

Tipo de ArmazenamentoCusto ($/GB/mês)RecuperaçãoUso Ideal
Standard$$$ (Alto)RápidoDados acessados frequentemente
Nearline$$ (Médio)Leve atrasoBackups, arquivamento de médio prazo
Coldline$ (Baixo)DemoradoDados raramente acessados (1x por ano)
Archive$ (Muito Baixo)Muito lentoArquivamento de longo prazo

 Exemplo de Preços (EUA, Março/2024):

...

  • O arquivo disponibilizado no server é baixado pelo Client. Essa verificação pode ser feita atráves de uma consulta a alguma API do Controle, onde o mesmo irá fazer toda a parte de controle do envio/baixa de arquivos, disponibilizado através de lotes (recomendado não utilizar a estrutura de baixa de lotes que usamos atualmente pois a mesma está estruturada para a baixa individual pra cada micro serviço que faz o envio dos dados).
  • O client faz a baixa do arquivo, descriptografa de acordo com o modelo AES explicado no tópico acima.
  • O arquivo único é desmembrado e são gerados vários arquivos, um pra cada tipo de dado baixado (para aproveitar a estrutura já pronta atualmente da baixa de dados no client via function por arquivo JSON).
  • As functions são acionadas e os dados dos arquivos são baixados para o PDV OMNI
  • E no final das baixas, uma requisição é realizada para confirmar se os dados foram baixados com sucesso ou não, juntamente com o log de cada baixa, assim como é realizado atualmente com a carga de dados via arquivos json por Function.

CONSIDERAÇÕES FINAIS + SEPARAÇÃO DE ISSUES PARA CADA TAREFA

O solução proposta unindo todos esses pontos é eficiente, rápido e eficaz, uma vez que o processo de leitura/gravação de dados por arquivo já está implementado no client, com a baixa de dados via Function, e com o modelo de dados proposto para o envio do arquivo para o server, vai gerar mais fluidez para o processo de carga inicial de uma loja. Dito isso, as issues de história que devemos considerar para que esse modelo acima seja seguido são:

  1. Criação da API POST para envio do Arquivo, inclusão da validação do arquivo criptografado + criação da tabela no Controle para a manutenção do envio desses arquivos, incluído campos para status de processamento e logs de mensagens
  2. Processamento de Arquivo no PDV SYNC SERVER Controle
  3. Criação da API GET para a baixa do arquivo no Client
  4. Criação da API PUT para a confirmação da baixa do arquivo e envio de logs referentes ao seu processamento 
  5. Alteração do serviço client Down para a baixa do arquivo enviado no server, leitura do arquivo criptografado, separação dos registros por tipo de dados e acionamento da baixa de dados via function


EXEMPLO DO ARQUIVO COM CONTEÚDO DOS DADOS

Bloco de código
languagec#
themeEclipse
titleJson
linenumberstrue
[	
	{
		"CodigoTipo": "12",
		"TipoDado": "AssociacaoProdutoClassificacao",
		"Dados": [
			{
				"ProdutoIdRetaguarda": "PRD1000010", //string
				"ClassificacaoProdutoIdRetaguarda": "APCP1000010", //string
				"Ordem": 1, //int
				"Situacao": 1, //int
				"IdRetaguarda": "APC1000010", //string
				"Id": 0, //long
				"DataCadastro": "0001-01-01T00:00:00", //DateTime
				"DataAtualizacao": "0001-01-01T00:00:00" //DateTime
			}
		]
	},
	{ 
		"CodigoTipo": "11",
		"TipoDado": "ClassificacaoProduto",
		"Dados": [
			{
				"Descricao": "MALHAS", //string
				"Nome": "MALHAS E TECIDOS", //string
				"Sigla": "MT", //string
				"ClassificacaoProdutoPaiIdRetaguarda": "", //string 
				"Situacao": 1, //integer
				"IdRetaguarda": "CP01", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:41:40.2134Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:41:40.213426Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "0",
		"TipoDado": "Cliente",
		"Dados": [
			{
				"Nome": "Carolina Dias Herrera", //string
				"Endereco": "", //string
				"Numero": "", //string
				"Complemento": "", //string
				"Bairro": "IPANEMA", //string
				"Cidade": "Rio de Janeiro", //string
				"Estado": "", //string
				"Cep": "1350065005", //string
				"Telefone": "", //string
				"Celular": "21955058770", //string
				"Email": "[email protected]", //string
				"DataNascimento": "1987-01-15T16:58:17.727-02:00", //DateTime
				"PessoaFisica": 0, //integer
				"CpfCnpj": "22665113007", //string
				"RgInscricao": "418509307", //string
				"Sexo": 0, //integer
				"EstadoCivil": 0, //integer
				"AvatarUrl": "", //string
				"Enviarpnet": 0, //integer 
				"Atividade": "", //string
				"Cracha": "", //string
				"IdRetaguardaProfissional": null, //string
				"IdRetaguardaRamoAtividade": null, //string
				"IdRetaguardaRedeCliente": null, //string
				"IdRetaguardaClientePrincipal": null, //string
				"IdRetaguardaPraca": null, //string
				"IdRetaguardaRegiao": null, //string
				"UtilizaPrecoAtacado": false, //booleano
				"Situacao": 1, //integer
				"IdRetaguarda": "CLI101003", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:33:26.808123Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:33:26.808154Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "56",
		"TipoDado": "ClienteEndereco",
		"Dados": [
			{
				"Bairro": "PARAISO", //string 
				"Cep": "16500251", //string
				"Cidade": "ARAÇATUBA", //string
				"ClienteIdRetaguarda": "CLI101001", //string
				"Complemento": "", //string
				"Endereco": "AVENIDA MARCÍLIO DIAS", //string
				"Estado": "SP", //string
				"IdCliente": 6082, //long
				"Numero": "3270", //string
				"DescricaoTipo": "RESIDENCIAL", //string
				"EnviarPnet": 0, //integer
				"Situacao": 1, //integer
				"IdRetaguarda": "CLIEND1001002", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T21:07:45.77272Z", //DateTime
				"DataAtualizacao": "2025-04-01T21:07:45.77272Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "12",
		"TipoDado": "CodigoProduto",
		"Dados": [
			{
				"ProdutoIdRetagurada": "PRD1000010", //string
				"Codigo": "10011004", //string
				"CodigoExterno": null, //string
				"Descricao": "PRODUTO TESTE - AUTENTICADOR", //string
				"Situacao": 0, //integer
				"IdRetaguarda": "CPPRD1000010", //string
				"Id": 0, //long
				"DataCadastro": "2024-03-28T13:13:11.127Z", //DateTime
				"DataAtualizacao": "2024-03-28T13:13:11.127Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "16",
		"TipoDado": "DadoComplementarPagto",
		"Dados": [
			{
				"Descricao": "TESTE", //string
				"Tipo": 0, //Integer
				"Obrigatorio": 10, //Integer
				"Tamanho": 10, //Integer
				"TipoCampoTef": null, //Integer
				"Situacao": 1, //Integer
				"IdRetaguarda": "DCP00001", //String
				"Id": 0, //Long
				"DataCadastro": "2025-04-01T20:52:48.188076Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:52:48.188077Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "14",
		"TipoDado" : "Estoque",
		"Dados": [
			{
				"Saldo": 50.0, //decimal
				"Sincronizado": 1, //Integer
				"ProdutoIdRetaguarda": "7891132001453-55", //String
				"ProdutoLote": [
					{
						"Quantidade": 10.0, //decimal
						"IdentificacaoLote": "string" //String
						"DataValidade": "2025-04-01T20:43:54.873766Z", //DateTime
						"EstoqueIdRetaguarda": "string", //string
						"IdRetaguarda": "string", //string
						"Situacao": 0, //integer
						"DataCadastro": "2025-04-01T20:43:54.873766Z", //DateTime
						"DataAtualizacao": "2025-04-01T20:43:54.873766Z" //DateTime
					}
				],
				"Situacao": 1, //integer
				"IdRetaguarda": "EST00026", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:43:54.873766Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:43:54.873766Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "18",
		"TipoDado": "FormaPagto",
		"Dados": [
			{
				"Descricao": "CREDITO", //string 
				"DescricaoFiscal": "CREDITO", //string
				"CodigoImpressora": null, //string
				"PagamentoValorTotal": null, //integer
				"PermiteTroco": 1, //integer
				"FormaPagamentoTrocoIdRetaguarda": "", //string
				"ValorMinimoAceito": "5", //string
				"CodigoSistemaExterno": "10", //string
				"CodigoModalidadePagamento": 0, integer
				"Tipo": 1, //integer
				"IdPagamentoFormaMestre": null, //integer
				"TipoCliente": 1, //integer
				"ClienteConsumidor": null, //booleano
				"UtilizaLimiteCredito": false, //booleano
				"Situacao": 1, //integer
				"IdRetaguarda": "FP0010", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:48:32.417083Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:48:32.417084Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "21",
		"TipoDado": "Grupo",
		"Dados": [
			{
				"IdRetaguardaLoja": "9999", //string
				"IdRetaguardaCliente": "3168", //string
				"IdRetaguardaGrupo": "GP0004", //string
				"Situacao": 1, //integer
				"IdRetaguarda": "GP0004", //string
				"Id": 0, //long
				"DataCadastro": "0001-01-01T00:00:00", //DateTime
				"DataAtualizacao": "0001-01-01T00:00:00" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "7",
		"TipoDado": "Imposto",
		"Dados": [
			{
				"AliquotaTributo": "5", //string
				"Tipo": "1", //string
				"Modalidade": "Teste", //string
				"IndiceTributoImpressora": null, //string
				"ReducaoBaseCalculo": "0", //string
				"Simbolo": "TESTE", //string
				"Cfop": "10", //string
				"CstCsosn": "10", //string
				"Situacao": 0, //integer
				"IdRetaguarda": "IMP00011", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:35:15.025273Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:35:15.025313Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "2",
		"TipoDado": "Motivo",
		"Dados": [
			{
				"Descricao": "Motivo Teste 3", //string
				"Tipo": 1, //integer
				"IdPromocaoMotorPromocaoTerceiro": null, //string
				"TipoMecanica": null, //integer
				"Situacao": 1, //integer
				"IdRetaguarda": "10", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:34:12.844775Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:34:12.844803Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "8",
		"TipoDado": "Ncm",
		"Dados": [
			{
				"CodigoNcm": "12345678", //string
				"CodigoExcecao": "20", //string
				"AliquotaNacional": "3.0", //string
				"AliquotaImportada": "2.0", //string
				"AliquotaEstadual": "1.0", //string
				"AliquotaMunicipal": "1.0", //string
				"Chave": "TESTE", //string
				"Fonte": "ARIAL 12", //string
				"CodigoCest": "1234567", //string
				"Situacao": 1, //integer
				"IdRetaguarda": "NCM00002", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:35:35.746964Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:35:35.746964Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "15",
		"TipoDado": "Operadora",
		"Dados": [
			{
				"Descricao": "ELO", //string
				"CodigoTef": "10", //string
				"Administradora": "ELO", //string
				"TipoTransacao": 1, //integer
				"Situacao": 1, //integer
				"IdRetaguarda": "OP100010", //string
				"Id": 0, //Login
				"DataCadastro": "2025-04-01T20:47:46.432391Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:47:46.432418Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "3",
		"TipoDado": "Perfil",
		"Dados": [
			{
				"Nome": "Supervisor Geral", //string
				"TipoPerfil": 1, //integer
				"DescontoMaximoItem": 100.0, //decimal
				"DescontoMaximoTotal": 100.0, //decimal
				"Situacao": 1, //integer
				"IdRetaguarda": "18", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:34:29.842174Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:34:29.842175Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "9",
		"TipoDado": "PisCofins",
		"Dados": [
			{
				"CstPis": "1", //string
				"AliquotaPis": "8.0", //string
				"CstCofins": "1", //string
				"AliquotaCofins": "5.0", //string
				"Situacao": 1, //integer
				"IdRetaguarda": "PC00010", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:41:02.264344Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:41:02.264345Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "13",
		"TipoDado": "Preco",
		"Dados": [
			{
				"ProdutoIdRetaguarda": "PRD00003", //string
				"ProdutoEmbalagemIdRetaguarda": "PRDEMB0001", //string
				"DataVigenciaInicial": "2024-10-28T16:26:14.977-03:00", //DateTime
				"DataVigenciaFinal": "2025-03-28T16:26:14.977-03:00", //DateTime
				"Valor": "20.0", //string
				"SincronizadoEtiquetaEletronica": 0, //integer
				"PrecoPromocional": "5.0", //string
				"Custo": 1.0, //decimal
				"RegiaoIdRetaguarda": "", //string
				"Margem": 0.0, //decimal
				"PrecoOrigem": "", //string
				"PrecoPrincipal": true, //booleano
				"ValorAtacado": 17.0, //decimal
				"IndicePreco": "", //string
				"Situacao": 1, //integer
				"IdRetaguarda": "PRE00001010", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:43:03.804015Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:43:03.80404Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "12",
		"TipoDado": "Produto",
		"Dados": [
			{
				"Descricao": "PRODUTO TESTE - AUTENTICADOR", //string
				"ImpostoIdRetaguarda": null, //string
				"Imposto": {
					"AliquotaTributo": "string", //string
					"Tipo": "string", //string
					"Modalidade": "string", //string
					"IndiceTributoImpressora": "string", //string
					"ReducaoBaseCalculo": "string", //string
					"Simbolo": "string", //string
					"Cfop": "string",//string
					"CstCsosn": "string", //string
					"IdRetaguarda": "PRE00001010", //string				
					"DataCadastro": "2025-04-01T20:43:03.804015Z", //DateTime
					"DataAtualizacao": "2025-04-01T20:43:03.80404Z" //DateTime
				},
				"NcmIdRetaguarda": null, //string
				"UnidadeMedida": "UN", //string
				"DescontoMaximo": "3", //string
				"TipoArredondaTrunca": "0", //string
				"CodigoProduto": "10011004", //string
				"CodigoAlternativo": "1001100405958579", //string
				"OrigemProduto": "0", //string
				"PisCofinsIdRetaguarda": null, //string
				"Imagem": "", //string
				"TipoProduto": 0, //integer
				"Fracionado": true, //booleano
				"CnpjFornecedor": "05054526000178", //string
				"EscalaRelevante": true, //booleano
				"ValorBaseFcp": "0", //string
				"CodigoBeneficioFiscal": "", //string
				"PercentualFcp": "0", //string
				"CstIcms": null, //string
				"PercentualReducaoIcms": "1", //string
				"AliquotaIcms": "1", //string
				"VlIcmsRet": "0", //string
				"MotivoDesoneracaoIcms": 0, //integer
				"DescontaDesoneracaoNf": false, //booleano
				"Cest": "10", //string
				"ValorPautaIcms": null, //string
				"Encomenda": false, //booleano
				"PesoBruto": 315.0, //decimal
				"PesoLiquido": 300.0, //decimal
				"QuantidadeMovimentacao": 100.0, //decimal
				"IdRetaguardaProdutoPrincipal": null, //string
				"QuantidadeValorAtacado": 10.0, //decimal
				"IdRetaguardaCategoria": null, //string
				"IdRetaguardaDepartamento": null, //string
				"IdRetaguardaFornecedor": null, //string
				"IdRetaguardaMarca": null, //string
				"IdRetaguardaSecao": null, //string
				"IdRetaguardaSubCategoria": null, //string
				"ControlaLote": false, //booleano
				"Situacao": 1, //integer
 				"IdRetaguarda": "PRD1000010", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:42:05.523853Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:42:05.523853Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "12",
		"TipoDado": "ProdutoEmbalagem",
		"Dados": [
			{
				"CodigoBarras": "8314961742676478", //string
				"Descricao": "PRODUTO TESTE - AUTENTICADOR", //string
				"PesoBruto": 1.0, //decimal
				"PesoLiquido": 1.0, //decimal
				"Quantidade": 1.0, //decimal
				"UnidadeMedida": "UN", //string
				"QuantidadeValorAtacado": 0.0, //decimal
				"Situacao": 1, //int
				"IdRetaguarda": "PE010101010", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:42:05.523853Z", //Datetime
				"DataAtualizacao": "2025-04-01T20:42:05.523853Z" //DateTime
			}
		]
	},
	{
		"CodigoTipo": "58",
		"TipoDado": "RamoAtividade",
		"Dados": [
				{
					"Descricao": "SERVICOS EM MANUTENCAO DE EQUIPAMENTOS", //string
					"IdRetaguardaAtividadePrincipal": null, //string
					"PercentualTaxa": 8.5, //decimal
					"Situacao": 1, //integer
					"IdRetaguarda": "RA00001", //string
					"Id": 0, //long
					"DataCadastro": "2025-04-01T21:08:15.71412Z", //DateTime
					"DataAtualizacao": "2025-04-01T21:08:15.714148Z" //DateTime
				}
			]
	},
	{
		"CodigoTipo": "4",
		"TipoDado": "Usuario",
		"Dados": [
			{
				"PerfilIdRetaguarda": "12", //string
				"Nome": "Marilsa Cardoso Damato", //string
				"Cpf": "86683259062", //string
				"Login": "marilsa.damato", //string
				"Senha": "WXYZ", //string
				"SenhaCriptografada": "", //string
				"Administrador": 0, //integer
				"Matricula": "150006", //string
				"Situacao": 1, //integer
				"IdRetaguarda": "102", //string
				"Id": 0, //long
				"DataCadastro": "2025-04-01T20:34:42.938532Z", //DateTime
				"DataAtualizacao": "2025-04-01T20:34:42.938532Z" //DateTime
			}
		]
	}
]