Загрузка RSS-канала

Создает задачу на загрузку RSS-канала в Вебмастер. Для загрузки необходимо использовать ссылку, которая была получена с помощью операции GET /v4/user/{user-id}/hosts/{host-id}/turbo/uploadAddress.

Внимание

Перед загрузкой ознакомьтесь с ограничениями для RSS-каналов.

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

POST <upload_address>

Заголовки запроса

Заголовок

Описание

Content-Type:application/rss+xml

Определяет тип файла, который передается в теле запроса.

Content-Encoding:gzip

Определяет способ кодирования содержимого — gzip.

Примечание

Gzip сжатие можно использовать, если размер RSS-канала превышает 10 МБ.

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

RSS-канал необходимо передавать в теле запроса в виде бинарного файла или в виде строки.

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

Сервис возвращает данные в формате JSON (по умолчанию) или XML. Чтобы получить XML-ответ, передайте в запросе HTTP-заголовок Accept: application/xml.

{
  "task_id": "a6792e60-ebf3-11e8-b31a-ed044935f842"
}
<Data>
  <task_id>a6792e60-ebf3-11e8-b31a-ed044935f842</task_id>
</Data>

task_id

Идентификатор задачи на загрузку RSS-канала. С помощью него можно проверять статус загрузки.

Коды ответа

Код

Описание

202 ACCEPTED

Запрос принят на обработку.

400 Bad Request

ENTITY_VALIDATION_ERROR   Тело запроса не прошло валидацию.

Пример ответа
{
    "error_code": "ENTITY_VALIDATION_ERROR",
    "error_message": "some string"
}

error_code

Код ошибки.

error_message

Сообщение об ошибке.

403 Forbidden

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."
}

error_code

Код ошибки.

available_user_id

ID пользователя, от имени которого разрешен доступ.

error_message

Сообщение об ошибке.

LICENCE_NOT_ACCEPTED   Необходимо принять Пользовательское соглашение.

Пример ответа
{   
    "error_code": "LICENCE_NOT_ACCEPTED",   
    "error_message": "some string"
}

error_code

Код ошибки.

error_message

Сообщение об ошибке.

404 Not Found

HOST_NOT_VERIFIED   Не подтверждены права на управление сайтом.

Пример ответа
{   
    "error_code": "HOST_NOT_VERIFIED",
    "host_id": "http:ya.ru:80",
    "error_message": "some string"
}

error_code

Код ошибки.

host_id

ID запрошенного сайта.

error_message

Сообщение об ошибке.

410 Gone

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

Пример ответа
{   
    "error_code": "UPLOAD_ADDRESS_EXPIRED",   
    "valid_until": "2016-01-01T00:00:00,000+0300",   
    "error_message": "some string"
}

error_code

Код ошибки.

valid_until

Дата и время, до которого адрес доступен для создания задачи.

error_message

Сообщение об ошибке.

413 Payload Too Large

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

Пример ответа
{   
    "error_code": "REQUEST_ENTITY_TOO_LARGE",   
    "error_message": "some string"
}

error_code

Код ошибки.

error_message

Сообщение об ошибке.

429 Too Many Requests

TOO_MANY_REQUESTS_ERROR   Отправлено слишком много запросов.

Пример ответа
{   
    "error_code": "TOO_MANY_REQUESTS_ERROR",   
    "error_message": "some string"
}

error_code

Код ошибки.

error_message

Сообщение об ошибке.

Пример

Пример загрузки RSS-канала:

curl -X POST \
  https://api.webmaster.yandex.net/v4/upload/turbo/Dz3L9xOfnCecrcgv3jdTInxCY8tMl__tDWwJV9jB1VkdUmDyqx94u-11JqUte05eXYkX49q1Z9CZAsbBgKkdIQ==/ \
  -H 'Authorization: OAuth oauth_token' \
  -H 'Content-Type: application/rss+xml' \
  --data-binary "@rss.xml"
curl -X POST \
  https://api.webmaster.yandex.net/v4/upload/turbo/Dz3L9xOfnCecrcgv3jdTInxCY8tMl__tDWwJV9jB1VkdUmDyqx94u-11JqUte05eXYkX49q1Z9CZAsbBgKkdIQ==/ \
  -H 'Authorization: OAuth oauth_token' \
  -H 'Content-Type: application/rss+xml' \
  -d '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:yandex="http://news.yandex.ru" xmlns:turbo="http://turbo.yandex.ru">
  <channel>
    <item turbo="true">
      <title>Заголовок страницы</title>
      <link>https://example.com</link>
      <turbo:content>
        <![CDATA[
          <header>
            <h1>Ресторан «Полезный завтрак»</h1>
            <h2>Вкусно и полезно</h2>
            <figure>
              <img src="https://avatars.mds.yandex.net/get-sbs-sd/403988/e6f459c3-8ada-44bf-a6c9-dbceb60f3757/orig">
            </figure>
            <menu>
              <a href="https://example.com/page1.html">Пункт меню 1</a>
              <a href="https://example.com/page2.html">Пункт меню 2</a>
            </menu>
          </header>
          <p>Как хорошо начать день? Вкусно и полезно позавтракать!</p>
          <p>Приходите к нам на завтрак. Фотографии наших блюд ищите <a href="#">на нашем сайте</a>.</p>
          <h2>Меню</h2>
          <figure>
            <img src="https://avatars.mds.yandex.net/get-sbs-sd/369181/49e3683c-ef58-4067-91f9-786222aa0e65/orig">
            <figcaption>Омлет с травами</figcaption>
          </figure>
          <p>В нашем меню всегда есть свежие, вкусные и полезные блюда.</p>
          <p>Убедитесь в этом сами.</p>
          <button formaction="tel:+7(123)456-78-90"
            data-background-color="#5B97B0"
            data-color="white"
            data-primary="true">Заказать столик</button>
          <div data-block="widget-feedback" data-stick="false">
            <div data-block="chat" data-type="whatsapp" data-url="https://whatsapp.com"></div>
            <div data-block="chat" data-type="telegram" data-url="http://telegram.com"></div>
            <div data-block="chat" data-type="vkontakte" data-url="https://vk.com"></div>
            <div data-block="chat" data-type="facebook" data-url="https://facebook.com"></div>
            <div data-block="chat" data-type="viber" data-url="https://viber.com"></div>
          </div>
          <p>Наш адрес: <a href="#">Nullam dolor massa, porta a nulla in, ultricies vehicula arcu.</a></p>
          <p>Фотографии — http://unsplash.com</p>
        ]]>
      </turbo:content>
    </item>
  </channel>
</rss>'

Ответ:

{
  "task_id": "a6792e60-ebf3-11e8-b31a-ed044935f842"
}
Написать в службу поддержки