Быстрый старт
Ниже представлена инструкция по загрузке RSS-канала в Вебмастер.
Шаг 1. Получите OAuth-токен
- Перейдите на страницу.
- В блоке Загрузка через API нажмите кнопку Получить токен.
Полученный OAuth-токен необходимо передавать в каждом запросе в HTTP-заголовке Authorization.
Шаг 2. Получите идентификатор пользователя
Идентификатор пользователя необходим при вызове ресурсов API Турбо‑страниц. Он передается в path-параметре user-id.
Чтобы получить идентификатор, используйте операцию GET /v4/user.
curl -X GET \ 'https://api.webmaster.yandex.net/v4/user' \ -H 'Authorization: OAuth oauth_token'
Скопировано
Идентификатор пользователя возвращается в поле user-id.
Шаг 3. Получите ссылку для загрузки RSS-канала
GET /v4/user/{user-id}/hosts/{host-id}/turbo/uploadAddress
.curl -X GET \ 'https://api.webmaster.yandex.net/v4/user/12345678/hosts/https:example.com:443/turbo/uploadAddress?mode=PRODUCTION' \ -H 'Authorization: OAuth oauth_token'
Скопировано
Ссылка для загрузки возвращается в поле upload_address. Ее необходимо использовать для загрузки RSS-канала.
Шаг 4. Загрузите RSS-канал
Чтобы загрузить RSS-канал, отправьте POST-запрос на адрес, который получили в предыдущем шаге. В запросе необходимо указать заголовок Content-Type: application/rss+xml
и передать 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' \ -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>'
Скопировано
Операция возвращает идентификатор задачи на загрузку RSS-канала в поле task_id. Его необходимо использовать для проверки статуса загрузки.
Шаг 5. Проверьте статус загрузки
Чтобы проверить статус загрузки RSS-канала, передайте идентификатор задачи в path-параметре task_id операции GET /v4/user/{user-id}/hosts/{host-id}/turbo/tasks/{task-id}
.
- ссылки, по которым можно посмотреть примеры отображения Турбо‑страниц;
- информацию об ошибках, если они возникают.
curl -X GET \ 'https://api.webmaster.yandex.net/v4/user/12345678/hosts/https:example.com:443/turbo/tasks/12345e0-678f-9e' \ -H 'Authorization: OAuth oauth_token'
Скопировано