import pandas as pd import os def extrair_vendas(data_ini: int, data_fim: int, token: str, pasta_destino: str): """ Extrai vendas da API com base no período especificado e salva no formato Parquet. Parâmetros: data_ini (int): Timestamp inicial (milissegundos desde 1970-01-01). data_fim (int): Timestamp final (milissegundos desde 1970-01-01). token (str): Bearer token para autenticação. pasta_destino (str): Diretório onde o arquivo Parquet será salvo. """ url = "https://api.conexaonfe.com.br/v1/relatorios" headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"} payload = { "ids": [], "entidade": "NFCE_EMITIDA_RELATORIO", "tipo": "normal", "dataIni": data_ini, "dataFim": data_fim, "destinatarios": [], "erpAtualizado": None, "estabs": [], "filialClientes": None, "informacoesNoRelatorio": "AVANCADO_E_ITENS", "nomArqDownload": "", "statusEmitida": None, "tags": [], "tipoDataConsiderar": "DATA_EMISSAO", "tipoFiltroMarcador": "CONTEM", "tipoNota": None, "valorAte": None, "valorDe": None } try: response = requests.post(url, headers=headers, json=payload, timeout=30) if response.status_code == 200: dados_vendas = response.json() if not dados_vendas: print("⚠️ Nenhuma venda encontrada no período.") return os.makedirs(pasta_destino, exist_ok=True) # Criar a pasta, se não existir df = pd.DataFrame(dados_vendas) arquivo_parquet = os.path.join(pasta_destino, f"vendas_{data_ini}_{data_fim}.parquet") df.to_parquet(arquivo_parquet, index=False) print(f"✅ Vendas extraídas e salvas em: {arquivo_parquet}") else: print(f"❌ Erro {response.status_code}: {response.text}") except requests.exceptions.RequestException as e: print(f"⚠️ Erro de conexão: {e}") # 🔽 Exemplo de Uso token = "SEU_BEARER_TOKEN" data_ini = 1740798000000 # Substituir pelo timestamp correto data_fim = 1743390000000 # Substituir pelo timestamp correto pasta_destino = r"C:\Users\andressa.rocha\Documents\HITORICO_VENDAS" extrair_vendas(data_ini, data_fim, token, pasta_destino)