71 lines
2.4 KiB
Plaintext
71 lines
2.4 KiB
Plaintext
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)
|
|
|