Skip to main content

createPost

Публикует пост на страницу бота. Пост автоматически зеркалится в каждый 1-1 чат с этим ботом.

Endpoint​

POST https://api.telefon.chat/api/bot{token}/createPost
Content-Type: application/json

Параметры​

ПолеТипОписание
text (или body)stringТекст поста, до 4000 символов. Может быть пустым, если есть media.
mediaarray?Список медиа: каждый элемент {url: string, type: "image" или "video"}. До 4.
buttonsarray?Кнопки под постом. См. Кнопки в постах. До 8 шт.
allow_repostsboolean?Разрешить другим репостить (по умолчанию true).
comments_enabledboolean?Можно ли комментировать (по умолчанию true).
scheduled_atstring?ISO 8601 дата-время публикации в UTC. См. Отложенную публикацию.
hiddenboolean?Создать пост как черновик. См. Скрытые посты.

Пример запроса​

curl -X POST "https://api.telefon.chat/api/bot$TOKEN/createPost" \
-H "Content-Type: application/json" \
-d '{
"text": "📅 Митап AI Moscow #34\n\n15 мая, 19:00. Цифровое деловое пространство.",
"media": [
{"url": "https://example.com/poster.jpg", "type": "image"}
],
"buttons": [
{"text": "Зарегистрироваться", "url": "https://aimoscow.ru/meetup34"}
],
"comments_enabled": true,
"allow_reposts": true
}'

Ответ​

{
"ok": true,
"result": {
"id": 1777626220428303,
"post_id": 1777626220428303,
"uuid": "a1b2c3d4-...",
"from": {
"id": 1777623970764382,
"is_bot": true,
"first_name": "AI Guide Russia",
"username": "ai_guide_russia"
},
"date": 1715763720,
"edit_date": null,
"text": "📅 Митап AI Moscow #34...",
"media": [{"url": "...", "type": "image"}],
"buttons": [{"text": "Зарегистрироваться", "url": "...", "subscribers_only": false}],
"reactions": [],
"comments_enabled": true,
"url": "https://app.telefon.chat/p/1777626220428303",
"stats": {"likes": 0, "comments": 0, "reposts": 0, "bookmarks": 0},
"allow_reposts": true
}
}
  • id и post_id — целочисленный идентификатор поста (TG-совместимый формат). Используйте его в дальнейших вызовах editPost / deletePost / getPost.
  • uuid — внутренний UUID поста (binary_id).
  • url — публичный URL поста.

Что происходит после createPost​

  1. Запись попадает в таблицу posts с published_at = NOW() (если не указан scheduled_at/hidden).
  2. Backend асинхронно находит все direct-чаты, где бот участвует, и в каждом создаёт mirror-сообщение с post_id.
  3. Подписчики получают :new_message через websocket-канал чата — их UI обновляется в реальном времени.
  4. На странице бота пост появляется первым (новые сверху).

Ошибки​

КодОписание
400create_post_failed — невалидные параметры.
401Unauthorized — неверный токен.