Посты
Через API можно управлять всем жизненным циклом поста: создать, получить, обновить и удалить. Все примеры предполагают, что вы уже получили токен и передаёте его в заголовке Authorization. Аккаунты, в которые вы публикуете, должны быть подключены в кабинете; их идентификаторы берутся из listSocialAccounts.
| Операция | Метод | Страница |
|---|---|---|
| Создать пост | мутация createPost | Создание поста |
| Получить пост | запрос post | Получение постов |
| Список постов | запрос posts, postsCount | Получение постов |
| Обновить пост | мутация updatePost | Обновление поста |
| Удалить пост | мутация deletePost | Удаление поста |
Поля объекта Post | — | Структура Post |
Мутации требуют активного тарифа и токена с правом записи (не «только чтение»); запросы post и posts доступны и токену «только чтение».
Создание
mutation {
createPost(
post: {
fields: { text: "Текст поста" }
networks: { accounts: ["account_id"] }
}
) {
id
status
}
}
Подробнее — createPost: медиа, UTM-метки, настройки ВКонтакте и Facebook, расписание, черновики.
Получение
query {
post(id: "post_id") {
id
status
publishAt
results {
accountId
success
linkToSocialPost
errorMsg
}
}
}
Подробнее — post и posts.
Обновление и удаление
mutation {
updatePost(id: "post_id", post: { fields: { text: "Новый текст" } }) {
id
}
}
mutation {
deletePost(id: "post_id") {
id
}
}
Подробнее — updatePost и deletePost.
Важно знать
- Публикация асинхронна.
createPostвозвращает пост сразу, а результат по аккаунтам появляется позже вresults; общий итог — вstatus. - Медиа загружаются по ссылке. Изображения и файлы из
imageUrlsиfileUrlsсервис скачивает сам, поэтому ссылки должны быть доступны из интернета. - Интервал между постами. В Настройки → Посты задаётся минимальный интервал между публикациями (в секундах, от 1 до 3600; по умолчанию 60). Через API посты можно создавать с любой частотой, но фактическое время отправки сдвигается так, чтобы соблюдался интервал. К автоматизации этот интервал не применяется.
- Время — в UTC. Все даты передаются и возвращаются в UTC.
