Создание поста
Это основной метод для публикации контента. Он поддерживает текст, ссылки, изображения и отложенную публикацию.
Структура входных данных
Мутация принимает объект post со следующей структурой:
mutation {
createPost(
post: {
fields: { ... }
networks: { ... }
publishAt: "2024-01-12T04:00:19.123Z"
}
) {
id
}
}
Параметры post
fields — содержимое поста
Объект, описывающий текстовое содержимое и медиа.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
text | String | Да | Текст поста |
link | String | Нет | Ссылка, которую нужно прикрепить к посту |
tags | String | Нет | Теги (строка с разделителями, зависит от соцсети) |
imageUrls | [String] | Нет | Массив URL-адресов изображений. Сервис автоматически загрузит и обработает их |
extra | Object | Нет | Дополнительные параметры для специфичных настроек соцсетей |
Поле extra может содержать:
| Поле | Тип | Описание |
|---|---|---|
vkFromGroup | Boolean | Публиковать от имени группы (true) или автора (false) во ВКонтакте. По умолчанию: true |
vkSigned | Boolean | Добавлять подпись с автором поста во ВКонтакте. По умолчанию: false |
networks — целевые соцсети
Объект, определяющий, куда публиковать пост.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
accounts | [String] | Да | Массив идентификаторов аккаунтов, полученных из listSocialAccounts |
publishAt — время публикации
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
publishAt | String | Нет | Дата и время публикации в формате RFC3339. Если поле не указано или указано время в прошлом, пост публикуется немедленно. Если указано будущее время — пост планируется как отложенный |
Формат даты:
- Всегда используйте UTC. Если часовой пояс не указан явно, сервер интерпретирует время как UTC
- Пример:
"2024-01-12T04:00:19.123Z"(Z означает UTC) - Допускается различная точность:
"2024-01-12T04:00:19Z","2024-01-12T04:00Z"
Примеры создания постов
Пример 1: Немедленная публикация текстового поста в один аккаунт
mutation {
createPost(
post: {
fields: { text: "Привет, мир! Это мой первый пост через API" }
networks: { accounts: ["social_account_id"] }
}
) {
id
status
}
}
Пример 2: Пост с ссылкой и изображениями в несколько соцсетей
mutation {
createPost(
post: {
fields: {
text: "Новая статья на нашем сайте"
link: "https://example.com/article"
imageUrls: [
"https://example.com/images/preview1.jpg"
"https://example.com/images/preview2.jpg"
]
extra: { vkFromGroup: true, vkSigned: false }
}
networks: { accounts: ["account_vk", "account_tg"] }
}
) {
id
}
}
Пример 3: Отложенный пост с публикацией через день
mutation {
createPost(
post: {
fields: { text: "Этот пост выйдет завтра в полдень по UTC" }
networks: { accounts: ["social_account_id"] }
publishAt: "2026-01-13T12:00:00Z"
}
) {
id
publishAt
}
}
Ответ createPost
Мутация возвращает объект созданного поста. Вы можете запросить любые поля поста в зависимости от ваших потребностей. Посмотрите структуру объекта Post.
