Setka Cloud API позволяет выгружать HTML-код и вспомогательные данные постов, сохранённых в личном кабинете.
Примечание: чтобы подключить Cloud API, обратитесь в службу поддержки.
Содержание
Работа с постами при включённом Cloud API
Описание полученного набора файлов
Обращение к API с дополнительными параметрами
Работа с постами при включённом Cloud API
Если в аккаунте активен Cloud API, в интерфейсе появятся новые кнопки, с помощью которых вы сможете управлять отправкой постов в API.
Публикация поста
При активном Cloud API на бейдже поста появится кнопка Publish / Unpublish. С её помощью определяется статус поста — published (опубликован) или draft (черновик):
Аналогичная кнопка появится в интерфейсе редактора:
Обновление поста
После публикации, пост может быть обновлён. До процедуры обновления, пост, сохраный в Setka Cloud, будет сохранять статус draft (серновик). Чтобы обновить пост и, тем самым,перевести новую ревизию в статус published (опубликована):
Внесите любые изменения. Сохраните изменения нажатием кнопки Save draft.
После этого нажмите Republish на странице редактирования поста:
Запросы к API
Для получения полного списка постов, выполните следующий запрос, добавив лицензионный ключ:
GET https://editor.setka.io/api/v2/posts
Чтобы получить конкретный пост из личного кабинета, укажите его идентификатор:
GET https://editor.setka.io/api/v2/posts/POST_ID
Где POST_ID — идентификатор поста.
Важно: по умолчанию, API выдаст только посты в статусе published, без изображений и данных HubSpot. Чтобы получить черновики постов, используйте фильтры state:draft или state:all. Для включения в ответ данных HubSpot и/или изображений, добавьте в запрос дополнительные поля.
Авторизация
Авторизация возможна двумя способами:
В заголовке запроса
Добавьте в запрос заголовок авторизации:
{
"Authorization": "Bearer YOUR_LICENSE_KEY"
}
Где YOUR_LICENSE_KEY — ваш лицензионный ключ.
В параметрах запроса
Добавьте в запрос параметр token:
GET https://editor.setka.io/api/v2/posts?token=YOUR_LICENSE_KEY
Где YOUR_LICENSE_KEY — ваш лицензионный ключ.
Пример ответа на запрос
Если запрос успешен, в ответе вы получите массив постов. При большом количестве постов, ответ разобьётся на страницы. Добавится объект pagination.
HTTP/1.1 200 OK
{
posts: [
{
"id": 2587,
"title": "Stylist",
"style_name": "General",
"layout_name": "6col_19774",
"reading_time": 240,
"preview_link": "https://editor.setka.io/posts/80a44hd5924792",
"state": "published"
"author": {
"id": 44,
"name": "Sergey Ivanov"
},
"body_html": "<div data-ui-id=\"post\">Hello!</div>",
"assets": {
"plugins": [
"https://ceditor.setka.io/clients/js_plugins/5ca41dc7f0df3e3d6170901b627d32fc/public.js"
],
"styles": [
"https://ceditor.setka.io/common_css/common_css_1565603693.css",
"https://ceditor.setka.io/clients/GP1TwUnF9mFFVzgqnAplHSQs51xdl4WT/css/loM7yyO-6xsVawmBxqej8A.css",
"https://ceditor.setka.io/clients/GP1TwUnF9mFFVzgqnAplHSQs51xdl4WT/layout_option_builds/19774/gazQpY7j6Cgq9gFsEKYF5A.css"
],
"images": [
{
"id": 3310,
"url": "https://ceditor.setka.io/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg",
"alt": "Alt text"
"sizes": [
{
"width": 3654,
"height": 5473,
"url": "https://ceditor.setka.io/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg"
},
{
"width": 500,
"height": 5473,
"url": "https://ceditor.setka.io/6xAHRUiLM1NBnWZ9JupZNdugX1UyoQkg9kzIGk9--vk/w:500/q:88/plain/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg"
},
{
"width": 1000,
"height": 5473,
"url": "https://ceditor.setka.io/Ioa24dDnWZ9JupZNdugX1UyoQkg9kzIGk9--vk/w:1000/q:88/plain/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg"
}
]
}
]
},
"hubspot_post": {
"id": 141,
"url": "https://hubspotblog.com/1-blog-page/-temporary-slug-bbd6cb8e-afed-4291-8937-c779c9ac2d25?hs_preview=ludkAblF-28956926215",
"blog_id": 1315
},
"created_at": "2019-07-19T10:25:27Z",
"updated_at": "2019-07-19T10:27:40Z",
"published_at": "2019-07-22T13:34:11Z"
}
],
pagination: {
"page": 1,
"limit": 20,
"page_count": 1,
"total_count": 1
}
}
Описание полученного набора полей
Поле | Описание |
posts |
Массив постов. Содержит все посты из личного кабинета. Выборку можно ограничить с помощью дополнительных параметров. |
pagination |
Пагинация выдачи. Содержит информацию о текущей странице, количестве страниц, общем количестве постов и количестве постов на одной странице. |
Элементы массива posts
Элемент | Описание |
id |
Уникальный идентификатор поста. |
title |
Название поста. |
style_name |
Название стиля, используемого в посте. |
layout_name |
Название системы сеток, в которой свёрстан пост. |
reading_time |
Примерное время чтения поста в секундах. |
preview_link |
Ссылка на превью поста в личном кабинете. |
state |
Состояние поста, где: — draft — черновик. — published — опубликован. |
created_at |
Дата и время создания поста. |
updated_at |
Дата и время последнего обновления поста. |
published_at |
Дата публикации поста. |
author |
Данные об авторе поста, где: — id — уникальный идентификатор автора. — name — имя автора, заданное в личном кабинете. |
body_html |
Полный HTML-код поста. |
assets |
Дополнительные файлы поста: JS, CSS, изображения. |
hubspot_post |
Данные поста, экспортированного в HubSpot (если экспорт производился), где: — id — уникальный идентификатор поста. — url — ссылка на пост в HubSpot. — blog_id — идентификатор поста в HubSpot.ё Примечание: чтобы получить в ответе поле hubspot_post, используйте дополнительные параметры. |
Файлы объекта assets
Файл | URL | Описание |
plugins |
https://ceditor.setka.io/clients /js_plugins/5ca41dc7f0df3e3d6170901b627d32fc/public.js |
Скрипты для запуска интерактивных элементов поста (анимаций, галерей, примечаний). |
styles |
https://ceditor.setka.io/common_css /common_css_1565603693.css |
CSS-файлы стилей поста: общий файл стилей, standalone-стиль и файл системы сеток. |
images |
https://ceditor.setka.io/clients /U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg |
Изображения, используемые в посте, где: — id — уникальный идентификатор изображения. — url — ссылка на файл. — alt — альтернативный текст. — sizes — несколько вариантов размера изображения, в зависимости от экрана устройства. Примечание: чтобы получить в ответе поле images, используйте дополнительные параметры. |
Элементы объекта pagination
Элемент | Описание |
page |
Номер текущей страницы. |
limit |
Максимальное количество постов на странице. |
page_count |
Общее количество страниц. |
total_count |
Общее количество постов. |
Обращение к API с дополнительными параметрами
Чтобы отфильтровать посты по некоторым признакам, включить в ответ дополнительные данные, или наоборот, исключить ненужные поля, используйте дополнительные параметры запроса.
Фильтры
Посты фильтруются по статусу и автору:
GET https://editor.setka.io/api/v2/posts?filter=state:draft,author.id:1111&token=YOUR_LICENSE_KEY
Доступные фильтры:
- author — автор поста. Фильтр работает как по id — author.id, так и по имени автора — author.name.
- state — статус поста: draft — черновик, или published — опубликован, all — все посты.
Дополнительные поля
В ответ могут быть включены дополнительные поля. Для этого используйте параметр include и перечислите поля через запятую:
GET https://editor.setka.io/api/v2/posts?include=hubspot_post,images&token=YOUR_LICENSE_KEY
Доступные поля:
- hubspot_post — данные поста, экспортированного в HubSpot.
- images — все изображения, использованные в посте.
Выбор данных поста
Если требуется получить отдельные поля из личного кабинета, например, исключительно идентификаторы и названия постов, используйте параметр select:
GET https://editor.setka.io/api/v2/posts?select=id,title&token=YOUR_LICENSE_KEY
Доступные поля:
- id — уникальный идентификатор поста.
- title — название поста.
- style_name — название стиля, используемого в посте.
- layout_name — название системы сеток, в которой свёрстан пост.
- reading_time — примерное время чтения поста в секундах.
- preview_link — ссылка на превью поста в личном кабинете.
- state — состояние поста, где draft — черновик, published — опубликован.
- created_at — дата и время создания поста.
- updated_at — дата и время последнего обновления поста.
- published_at — дата публикации поста.
- author — данные об авторе поста.
- body_html — полный HTML-код поста.
- assets — дополнительные файлы поста (JS, CSS, изображения).
- hubspot_post — данные поста, экспортированного в HubSpot (если экспорт производился).
Ошибки API
Ошибки, которые может отдавать Setka Cloud API.
HTTP/1.1 401 Unauthorized
{
"error": "Not authorized!"
}
Ошибка возникает при использовании некорректного лицензионного ключа (token).
HTTP/1.1 404 Unauthorized
{
"error": "Not found"
}
Вы всегда можете обратиться в нашу службу поддержки, если столкнулись с ошибкой.