class RecommerceError(Exception):
    """Базовое исключение для ошибок интеграции Recommerce"""
    pass


class RecommerceConnectionError(RecommerceError):
    """Ошибка соединения с API"""
    pass


class RecommerceAuthError(RecommerceError):
    """Ошибка авторизации (неверный токен)"""
    pass


class RecommerceAPIError(RecommerceError):
    """Ошибка API (4xx, 5xx коды)"""
    def __init__(self, status_code: int, message: str, response_body: str = None):
        self.status_code = status_code
        self.response_body = response_body
        super().__init__(f"API Error {status_code}: {message}")