import os
import requests

base_url = os.getenv("VOYCED_API_BASE_URL", "https://sandbox.voycedconnect.eu/v1").rstrip("/")
if not base_url.startswith("https://"):
    raise RuntimeError("VOYCED_API_BASE_URL must use HTTPS.")
api_key = os.environ["VOYCED_API_KEY"]
api_secret = os.environ["VOYCED_API_SECRET"]

session = requests.Session()
session.headers["Accept"] = "application/json"
token_response = session.post(
    f"{base_url}/auth/token",
    json={"api_key": api_key, "api_secret": api_secret},
    timeout=20,
    allow_redirects=False,
)
token_response.raise_for_status()
token = token_response.json()["data"]["access_token"]
customer_response = session.get(
    f"{base_url}/customer",
    headers={"Authorization": f"Bearer {token}"},
    timeout=20,
    allow_redirects=False,
)
customer_response.raise_for_status()
print(customer_response.json())
