Добавление RSS-канала

Описание

Создает задачу на добавление RSS-канала в Яндекс.Вебмастер. В одном запросе вы можете передать один файл в формате XML. Также можно отправить тело запроса в сжатом виде.

Чтобы добавить RSS-канал в Яндекс.Вебмастер:

  1. Получите уникальный адрес. Этот адрес нужно получать для каждой новой отправки POST-запроса на добавление RSS-канала.
  2. Отправьте ваш RSS-канал на полученный уникальный адрес как описано ниже.
Примечание. В примерах используются демонстрационные данные. Используйте свои данные для работы с API.

Ответ API может приходить в формате JSON или XML. По умолчанию возвращается JSON. Чтобы получить XML-ответ, передайте в запросе заголовок Accept: application/xml.

Формат запроса

Отправьте POST-запрос на адрес ресурса upload/turbo, в теле запроса передайте сформированный RSS-канал, а также тип данных application/rss+xml в заголовке Content-type:
POST <upload_address>
Content-type: application/rss+xml
Пример с использованием утилиты Curl

В примере RSS-канал лежит в файле rss.xml.

curl -X POST 'https://api.webmaster.yandex.net/v3.2/upload/turbo/HE5JKOcuw8-74k6a0_ZzIPx9ONSTtGYD-cJACoOFPxltaXOAKCsD299L640iK1T-0yEND8_VPEsJ3u9Kq2IZeQ==/' -H 'Authorization: OAuth AQAAAAA' -H 'Content-Type: application/rss+xml' --data-binary "@rss.xml"

Чтобы передать тело запроса в сжатом виде, используйте заголовок Content-Encoding и тип данных gzip:

POST <upload_address>
Content-Encoding: gzip
Пример с использованием утилиты Curl

В примере RSS-канал лежит в файле rss.xml.gz.

curl -X POST 'https://api.webmaster.yandex.net/v3.2/upload/turbo/HE5JKOcuw8-74k6a0_ZzIPx9ONSTtGYD-cJACoOFPxltaXOAKCsD299L640iK1T-0yEND8_VPEsJ3u9Kq2IZeQ==/' -H 'Authorization: OAuth AQAAAAA' -H 'Content-Type: application/rss+xml' -H 'Content-Encoding: gzip' --data-binary "@rss.xml.gz"

Формат ответа

В случае успеха сервер возвращает 202 и идентификатор задачи на добавление RSS-канала в Яндекс.Вебмастер (task_id). Этот идентификатор потребуется для отслеживания выполнения задачи.

Примеры

{
   "task_id": "c7fe80c0-36e3-11e6-8b2d-df96aa592c0a"
}
Имя Обязательный Тип Описание
task_id Да string Идентификатор задачи на добавление RSS-канала в Яндекс.Вебмастер.

Ошибки

403 Forbidden

ID пользователя, выдавшего токен, отличается от указанного в запросе. В примерах ниже {user_id} указан правильный uid владельца OAuth-токена. Проверьте OAuth-токен.

{
  "error_code": "INVALID_USER_ID",
  "available_user_id": 1,
  "error_message": "Invalid user id. {user_id} should be used."
}
Параметр Описание
error_code Код ошибки.
available_user_id ID пользователя, от имени которого разрешен доступ.
error_message Сообщение об ошибке.

404 Not Found

  • Код ошибки HOST_NOT_INDEXED

    {
      "error_code": "HOST_NOT_INDEXED",
      "host_id": "http:ya.ru:80",
      "error_message": "explicit error message"
    }
    Параметр Описание
    error_code Сайт еще не проиндексирован.
    host_id ID запрошенного сайта.
    error_message Сообщение об ошибке.
  • Код ошибки HOST_NOT_LOADED

    {
      "error_code": "HOST_NOT_LOADED",
      "host_id": "http:ya.ru:80",
      "error_message": "explicit error message"
    }
    Параметр Описание
    error_code Данные о сайте еще не загружены в Яндекс.Вебмастер.
    host_id ID запрошенного сайта.
    error_message Сообщение об ошибке.
  • Код ошибки HOST_NOT_VERIFIED

    {
      "error_code": "HOST_NOT_VERIFIED",
      "host_id": "http:ya.ru:80",
      "error_message": "explicit error message"
    }
    Параметр Описание
    error_code Сайт не добавлен в список сайтов или права не подтверждены пользователем.
    host_id ID запрошенного сайта.
    error_message Сообщение об ошибке.

410 Gone

Ресурс недоступен.

{
  "error_code": "UPLOAD_ADDRESS_EXPIRED",
  "valid_until": "2016-01-01T00:00:00,000+0300",
  "error_message": "some string"
}
Параметр Описание
error_code UPLOAD_ADDRESS_EXPIRED — срок действия адреса загрузки истек.
valid_until Дата и время, до которого адрес доступен для создания задачи.
error_message Сообщение об ошибке.

413 Payload Too Large

Размер файла превышает ограничения.

{
  "error_code": "REQUEST_ENTITY_TOO_LARGE",
  "error_message": "some string"
}
Параметр Описание
error_code REQUEST_ENTITY_TOO_LARGE — размер файла превышает ограничения.
error_message Сообщение об ошибке.

429 Too Many Requests

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

{
  "error_code": "TOO_MANY_REQUESTS_ERROR",
  "error_message": "some string"
}
Параметр Описание
error_code TOO_MANY_REQUESTS_ERROR — отправлено слишком много запросов.
error_message Сообщение об ошибке.
Данная ошибка появляется, если вы отправляете:
  • больше одного запроса в секунду;
  • запрос при наличии 10 еще не обработанных запросов.