#!/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.")