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

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

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

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

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

  1. Формат запроса
  2. Формат ответа
  3. Коды ответа

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

Отправьте 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/v4/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/v4/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-канала в Яндекс.Вебмастер.

Коды ответа

Чтобы посмотреть структуру ответа подробнее, нажмите на причину.

КодПричинаОписание
202 ACCEPTED
400ENTITY_VALIDATION_ERROR
Тело запроса не прошло валидацию.
{
  "error_code": "ENTITY_VALIDATION_ERROR",
  "error_message": "some string"
}
403

INVALID_USER_ID

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

{
  "error_code": "INVALID_USER_ID",
  "available_user_id": 1,
  "error_message": "Invalid user id. {user_id} should be used."
}
LICENCE_NOT_ACCEPTED
Необходимо принять Пользовательское соглашение.
{
  "error_code": "LICENCE_NOT_ACCEPTED",
  "error_message": "some string"
}
404HOST_NOT_VERIFIED
Не подтверждены права на управление сайтом.
{
  "error_code": "HOST_NOT_VERIFIED",
  "host_id": "http:ya.ru:80",
  "error_message": "some string"
}
410UPLOAD_ADDRESS_EXPIRED
Ресурс недоступен.
{
  "error_code": "UPLOAD_ADDRESS_EXPIRED",
  "valid_until": "2016-01-01T00:00:00,000+0300",
  "error_message": "some string"
}
413REQUEST_ENTITY_TOO_LARGE
Размер файла превышает ограничения.
{
  "error_code": "REQUEST_ENTITY_TOO_LARGE",
  "error_message": "some string"
}
429TOO_MANY_REQUESTS_ERROR
Отправлено слишком много запросов.
{
  "error_code": "TOO_MANY_REQUESTS_ERROR",
  "daily_quota": 1,
  "exceeded_until": "2016-01-01T00:00:00,000+0300",
  "error_message": "some string"
}