G-Scripts/ciclos.py
daniel.rodrigues e250eb3cf6 first commit
2026-02-20 09:00:12 -03:00

106 lines
2.9 KiB
Python

#!/usr/bin/env python3
"""
Script para consultar ciclos da API do Grupo Boticário
"""
import requests
def get_token():
"""Busca o token da API Ginseng"""
url = "https://api.grupoginseng.com.br/api/tokens"
print("Buscando token...")
try:
response = requests.get(url, timeout=30)
if response.status_code == 200:
data = response.json()
if data.get("success") and data.get("data"):
token = data["data"][0].get("token")
if token:
print("✓ Token obtido com sucesso!")
return token
print(f"✗ Erro ao buscar token: {response.status_code}")
return None
except Exception as e:
print(f"✗ Erro na requisição: {e}")
return None
def get_cycles(token):
"""Consulta os ciclos da API do Grupo Boticário"""
url = "https://api-extranet.grupoboticario.digital/api/v2/cycles"
headers = {
"accept": "application/json, text/plain, */*",
"accept-language": "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7",
"authorization": token,
"cache-control": "no-cache",
"origin": "https://extranet.grupoboticario.com.br",
"pragma": "no-cache",
"referer": "https://extranet.grupoboticario.com.br/",
"sec-ch-ua": '"Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
}
print("\nConsultando ciclos...")
try:
response = requests.get(url, headers=headers, timeout=30)
print(f"Status Code: {response.status_code}")
if response.status_code == 200:
data = response.json()
print("✓ Ciclos obtidos com sucesso!")
return data
else:
print(f"✗ Erro na requisição: {response.status_code}")
print(f"Resposta: {response.text[:500]}")
return None
except Exception as e:
print(f"✗ Erro na requisição: {e}")
return None
if __name__ == "__main__":
print("="*60)
print("CICLOS - Consulta de Ciclos do Grupo Boticário")
print("="*60)
# 1. Buscar token
print("\n[1/2] Obtendo token...")
token = get_token()
if not token:
print("\n✗ Não foi possível obter o token.")
exit(1)
print(f" Token: {token[:60]}...")
# 2. Consultar ciclos
print("\n[2/2] Consultando ciclos...")
cycles = get_cycles(token)
if cycles:
print(f"\n{'='*60}")
print("RESULTADO")
print(f"{'='*60}")
import json
print(json.dumps(cycles, indent=2, ensure_ascii=False))
else:
print("\n✗ Não foi possível obter os ciclos.")