Устранение распространённых ошибок REST API
При работе с API Wrike ошибки неизбежны. Они могут возникать по разным причинам, например из-за недостаточных прав пользователя, ограничений лицензии аккаунта или некорректного форматирования. В этой статье мы рассмотрим наиболее распространённые ошибки API и предложим шаги по их устранению, чтобы вы могли быстро определить и исправить проблему.
Важно
Всегда перепроверяйте документацию API.
Коды статусов
Возможная причина
Неверный базовый URL.
Шаги по устранению неполадок
Проверьте, что ваш базовый URL указан правильно.
Wrike хранит данные клиентов в нескольких дата-центрах, расположенных в США и Европейском союзе. Чтобы получить доступ к своим данным, используйте соответствующий базовый URL в зависимости от их расположения. Вы можете определить свой базовый URL, посмотрев на адресную строку браузера при открытии аккаунта Wrike.
Возможная причина
- Неверный тип запроса по протоколу HTTP, важные данные запроса отсутствуют или искажены (напр., отсутствует вложение).
- Заголовок отсутствует.
- Недопустимое имя параметра запроса.
- Параметр запроса не поддерживается для данной конечной точки.
Пример: Пользователь пытается использовать параметр 'firstName' в вызове GET/contacts
Шаги по устранению неполадок
- Проверьте документацию API, чтобы убедиться, что ваш запрос сформирован правильно: все параметры должны быть допустимыми и поддерживаться данной конечной точкой.
- Убедитесь, что в запрос включены все необходимые заголовки.
Возможная причина
- Отсутствует обязательный параметр.
- Значение параметра указано или отформатировано неверно.
Шаги по устранению неполадок
- Перепроверьте документацию и убедитесь, что в вашем вызове присутствуют все параметры, отмеченные как обязательные.
- Убедитесь, что значение параметра корректно и соответствует формату, описанному в документации.
Возможная причина
Используется неверный метод API.
Пример: Пользователь пытается отправить вызов PUT/tasks, который не поддерживается.
Шаги по устранению неполадок
Убедитесь, что используемый вами метод поддерживается для этой конечной точки и указан корректно.
Возможная причина
Запрошенное действие недоступно из-за ограничений лицензии/квоты и т. д.
- У пользователя нет необходимых прав для выполнения запрошенного действия.
Пример: Пользователь с подпиской Business Plus выполняет метод GET/data_export.
-
У аккаунта нет необходимой лицензии для выполнения операции.
Пример: Коллаборатор пытается изменить название папки. -
Операция не может быть выполнена.
Пример: Пользователь попытался создать уже существующую зависимость.
Шаги по устранению неполадок
- Проверьте права пользователя в настройках аккаунта Wrike. Убедитесь, что у пользователя есть необходимые права для доступа к запрашиваемому ресурсу.
- Проверьте лицензию аккаунта. Для использования этого метода API может потребоваться обновление лицензии.
- Проверьте, может ли пользователь выполнить ту же операцию в интерфейсе.
Возможная причина
Превышен лимит частоты запросов с одного IP-адреса (5000/мин) или на одного пользователя (400/мин). Первые 400 запросов в минуту обрабатываются, все последующие возвращают статус 429.
Шаги по устранению неполадок
- Если вы получаете ответ 429 HTTP, попробуйте использовать повторные запросы с экспоненциальной задержкой.
- Распределите нагрузку между несколькими пользователями.
- Если проблема сохраняется, свяжитесь с нашей службой поддержки
Возможная причина
Превышен лимит запросов
Шаги по устранению неполадок
Возможная причина
- Сервер столкнулся с непредвиденным условием, которое помешало выполнить запрос.
- У пользователя нет доступа к запрашиваемому ресурсу
Шаги по устранению неполадок
- Проверьте страницу статуса Wrike, чтобы узнать, есть ли массовые проблемы.
- Если массовых сбоев нет, свяжитесь с нашей службой поддержки для дальнейшего изучения.
Возможная причина
Вы пытаетесь получить ресурс, который не существует.
Пример: Пользователь отправляет вызов для получения задач из пустой папки с помощью GET/folders/{folderId}/tasks
Шаги по устранению неполадок
Убедитесь, что ресурс (например, задача/папка/проект и т. д.) существует в аккаунте.
Полезные советы
Определение аккаунта, к которому принадлежит ваш токен
У вас несколько аккаунтов Wrike, и вы не уверены, к какому из них относится ваш токен? Не переживайте, определить это очень просто. Просто выполните вызов GET/account, чтобы подтвердить.
Определение владельца вашего токена
Если вы тестировали API с несколькими пользователями и хотите установить владельца конкретного токена, существует простой способ. Получите данные профиля пользователя, отправив вызов GET/contacts?me=true.
Если трудности сохраняются, пожалуйста, свяжитесь с нашей Службой поддержки, и мы будем рады помочь вам.
Чтобы ускорить решение проблемы, предоставьте, пожалуйста, следующую информацию.
- Ваша цель при обращении к API.
- Полный запрос к API, который вы отправили.
- Полученный ответ.
-
[В случае проблем, связанных с правами или токеном]
Среднюю часть токена, чтобы мы могли декодировать её на своей стороне.
Ниже приведён пример access-токена. Нам нужно, чтобы вы отправили часть, заключённую между двумя точками (выделена жирным), и опустили части до и после точки:eyJ0dCI6InAiLCJhbGciOiJIUzI1NiIsInR2IjoiMSJ9.eyJkIjoie1wiYVwiOjM5MjA2MDIsXCJpXCI6NzIyMzMxOCxcImNcIjo0NjIwNzcwLFwidVwiOjY5NzA4NjcsXCJyXCI6XCJVU1wiLFwic1wiOltcIldcIixcIkZcIixcIklcIixcIlVcIixcIktcIixcIkNcIixcIkRcIixcIk1cIixcIkFcIixcIkxcIixcIlBcIl0sXCJ6XCI6W10sXCJ0XCI6MH0iLCJpYXQiOjE1OTk5MDk0MzV9.q3qOJs2swWSCgZl1ueKYsUyhME4RBD4cl53vZ0pwDccВажно
Никогда не отправляйте весь токен! Передача вашего постоянного токена равносильна передаче пароля от аккаунта Wrike.