import os, requests

class Zeovoice:
    def __init__(self, api_key=None, base_url="https://zeovoice.com/api/v1"):
        self.api_key = api_key or os.environ["ZEOVOICE_API_KEY"]
        self.base_url = base_url.rstrip("/")

    def request(self, method, path):
        r = requests.request(method, self.base_url + path,
            headers={"Authorization": f"Bearer {self.api_key}", "Accept": "application/json"},
            timeout=20)
        r.raise_for_status()
        return r.json()

    def workspace(self): return self.request("GET", "/workspace")
    def employees(self): return self.request("GET", "/employees")
    def employee(self, employee_id): return self.request("GET", f"/employees/{employee_id}")
    def deployment(self, employee_id): return self.request("GET", f"/deployment/{employee_id}")
    def verify_deployment(self, employee_id, channel):
        return self.request("POST", f"/deployment/{employee_id}/verify/{channel}")
    def usage(self, days=30): return self.request("GET", f"/usage?days={int(days)}")
