Как исправить ошибку 401 при подключении к API «Мой класс»

    При попытке подключиться к API CRM «Мой класс» с помощью Python и библиотеки requests вы можете столкнуться с ошибкой 401 Unauthorized и сообщением "x-access-token is invalid". Это означает, что сервер не признаёт переданный токен доступа. Разберём основные причины и способы решения проблемы.

    Причины ошибки 401 Unauthorized

    Ошибка 401 свидетельствует о проблемах с аутентификацией. В API «Мой класс» используется токен доступа, передаваемый в заголовке x-access-token. Вот самые частые причины:

    • Недействительный токен: вы скопировали токен, который уже был отозван или истёк.
    • Неправильное копирование: токен содержит лишние пробелы, кавычки или символы.
    • Токен от другого пользователя: если токен не принадлежит вашему аккаунту, доступ будет запрещён.

    Как получить и проверить токен для API

    Чтобы работать с API «Мой класс», нужно сгенерировать новый токен в личном кабинете CRM. Зайдите в раздел Настройки → API-токены и создайте новый токен с нужными правами. Скопируйте его целиком, без лишних символов.

    Пример корректного кода на Python

    Убедитесь, что ваш код выглядит так:

    import requests
    
    token = "ваш_актуальный_токен"  # без кавычек внутри строки
    headers = {
        "x-access-token": token
    }
    response = requests.get("https://api.moyklass.com/v1/company/classes", headers=headers)
    print(response.status_code)
    print(response.text)

    Важно: токен должен быть строкой без лишних кавычек и пробелов. Если вы скопировали его из документации или сайта, проверьте, не добавились ли кавычки автоматически.

    Дополнительные проверки

    Если после замены токена ошибка сохраняется, выполните следующие шаги:

    • Убедитесь, что ваш аккаунт имеет доступ к API (возможно, требуется платный тариф).
    • Проверьте, не истёк ли срок действия токена - некоторые токены живут ограниченное время.
    • Попробуйте отправить запрос через Postman или cURL, чтобы исключить проблемы с кодом.

    Пример запроса через cURL:

    curl -H "x-access-token: ваш_токен" https://api.moyklass.com/v1/company/classes

    Если cURL возвращает те же 401, проблема точно в токене или правах аккаунта.

    Что делать, если токен правильный, но ошибка остаётся

    Иногда сервер может блокировать запросы по другим причинам:

    • Превышен лимит запросов (rate limit) - подождите несколько минут.
    • Неправильный URL эндпоинта - проверьте документацию API «Мой класс».
    • Проблемы с SSL-сертификатом - добавьте параметр verify=False (не рекомендуется для продакшена).

    Если ничего не помогает, обратитесь в поддержку CRM «Мой класс» - возможно, на вашем аккаунте отключён доступ к API.

    Часто задаваемые вопросы