Все статьи

Устранение распространённых ошибок REST API

Ситуация

При работе с API Wrike ошибки неизбежны. Они могут возникать по разным причинам, например из-за недостаточных прав пользователя, ограничений лицензии аккаунта или некорректного форматирования. В этой статье мы рассмотрим наиболее распространённые ошибки API и предложим шаги по их устранению, чтобы вы могли быстро определить и исправить проблему.

Важно

Всегда перепроверяйте документацию API.

Ответы об ошибках

Ниже приведён пример стандартного ответа при неудачном запросе к API.

Код статуса: XXX
Тело ответа:

{
\"errorDescription\": \"читаемое человеком описание ошибки.\",
\"error\": \"краткий стандартизированный код или идентификатор конкретной возникшей ошибки\"
}

Коды статусов

300 - Multiple Choices (несколько вариантов)

Возможная причина

Неверный базовый URL.

Шаги по устранению неполадок

Проверьте, что ваш базовый URL указан правильно.
Wrike хранит данные клиентов в нескольких дата-центрах, расположенных в США и Европейском союзе. Чтобы получить доступ к своим данным, используйте соответствующий базовый URL в зависимости от их расположения. Вы можете определить свой базовый URL, посмотрев на адресную строку браузера при открытии аккаунта Wrike.

400 - invalid_request

Возможная причина

  • Неверный тип запроса по протоколу HTTP, важные данные запроса отсутствуют или искажены (напр., отсутствует вложение).
  • Заголовок отсутствует.
  • Недопустимое имя параметра запроса.
  • Параметр запроса не поддерживается для данной конечной точки.

Пример: Пользователь пытается использовать параметр 'firstName' в вызове GET/contacts

Шаги по устранению неполадок

  • Проверьте документацию API, чтобы убедиться, что ваш запрос сформирован правильно: все параметры должны быть допустимыми и поддерживаться данной конечной точкой.
  • Убедитесь, что в запрос включены все необходимые заголовки.

400 - invalid_parameter

Возможная причина

  • Отсутствует обязательный параметр.
  • Значение параметра указано или отформатировано неверно.

Шаги по устранению неполадок

  • Перепроверьте документацию и убедитесь, что в вашем вызове присутствуют все параметры, отмеченные как обязательные.
  • Убедитесь, что значение параметра корректно и соответствует формату, описанному в документации.

400 - method_not_found

Возможная причина

Используется неверный метод API.

Пример: Пользователь пытается отправить вызов PUT/tasks, который не поддерживается. 

Шаги по устранению неполадок

Убедитесь, что используемый вами метод поддерживается для этой конечной точки и указан корректно.

403 - not_allowed

Возможная причина

Запрошенное действие недоступно из-за ограничений лицензии/квоты и т. д.

  • У пользователя нет необходимых прав для выполнения запрошенного действия.

    Пример: Пользователь с подпиской Business Plus выполняет метод GET/data_export.

  • У аккаунта нет необходимой лицензии для выполнения операции.
    Пример: Коллаборатор пытается изменить название папки.

  • Операция не может быть выполнена.
    Пример: Пользователь попытался создать уже существующую зависимость.

Шаги по устранению неполадок

  • Проверьте права пользователя в настройках аккаунта Wrike. Убедитесь, что у пользователя есть необходимые права для доступа к запрашиваемому ресурсу.
  • Проверьте лицензию аккаунта. Для использования этого метода API может потребоваться обновление лицензии.
  • Проверьте, может ли пользователь выполнить ту же операцию в интерфейсе.

404 - resource_not_found

Возможная причина

  • Запрашиваемый ресурс не существует.
  • У пользователя нет доступа к запрашиваемому ресурсу

Шаги по устранению неполадок

Проверьте запрашиваемый ресурс и убедитесь, что пользователь, чей токен используется в интеграции, имеет к нему доступ.

429 - too_many_requests

Возможная причина

Превышен лимит частоты запросов с одного IP-адреса (5000/мин) или на одного пользователя (400/мин). Первые 400 запросов в минуту обрабатываются, все последующие возвращают статус 429.

Шаги по устранению неполадок

  • Если вы получаете ответ 429 HTTP, попробуйте использовать повторные запросы с экспоненциальной задержкой.
  • Распределите нагрузку между несколькими пользователями.
  • Если проблема сохраняется, свяжитесь с нашей службой поддержки

429 - rate_limit_exceeded

Возможная причина

Превышен лимит запросов

Шаги по устранению неполадок

Свяжитесь с нашей службой поддержки

500 - server_error

Возможная причина

  • Сервер столкнулся с непредвиденным условием, которое помешало выполнить запрос.
  • У пользователя нет доступа к запрашиваемому ресурсу

Шаги по устранению неполадок

Пустой ответ

Возможная причина

Вы пытаетесь получить ресурс, который не существует.

Пример: Пользователь отправляет вызов для получения задач из пустой папки с помощью GET/folders/{folderId}/tasks

Шаги по устранению неполадок

Убедитесь, что ресурс (например, задача/папка/проект и т. д.) существует в аккаунте.

Полезные советы

Определение аккаунта, к которому принадлежит ваш токен

У вас несколько аккаунтов Wrike, и вы не уверены, к какому из них относится ваш токен? Не переживайте, определить это очень просто. Просто выполните вызов GET/account, чтобы подтвердить.

Определение владельца вашего токена

Если вы тестировали API с несколькими пользователями и хотите установить владельца конкретного токена, существует простой способ. Получите данные профиля пользователя, отправив вызов GET/contacts?me=true.

Обратиться в службу поддержки

Если трудности сохраняются, пожалуйста, свяжитесь с нашей Службой поддержки, и мы будем рады помочь вам.

Чтобы ускорить решение проблемы, предоставьте, пожалуйста, следующую информацию.

  • Ваша цель при обращении к API.
  • Полный запрос к API, который вы отправили.
  • Полученный ответ.
  • [В случае проблем, связанных с правами или токеном]
    Среднюю часть токена, чтобы мы могли декодировать её на своей стороне.

    Ниже приведён пример access-токена. Нам нужно, чтобы вы отправили часть, заключённую между двумя точками (выделена жирным), и опустили части до и после точки:
    eyJ0dCI6InAiLCJhbGciOiJIUzI1NiIsInR2IjoiMSJ9.eyJkIjoie1wiYVwiOjM5MjA2MDIsXCJpXCI6NzIyMzMxOCxcImNcIjo0NjIwNzcwLFwidVwiOjY5NzA4NjcsXCJyXCI6XCJVU1wiLFwic1wiOltcIldcIixcIkZcIixcIklcIixcIlVcIixcIktcIixcIkNcIixcIkRcIixcIk1cIixcIkFcIixcIkxcIixcIlBcIl0sXCJ6XCI6W10sXCJ0XCI6MH0iLCJpYXQiOjE1OTk5MDk0MzV9.q3qOJs2swWSCgZl1ueKYsUyhME4RBD4cl53vZ0pwDcc

    Важно

    Никогда не отправляйте весь токен! Передача вашего постоянного токена равносильна передаче пароля от аккаунта Wrike.

Верх