createPost
Публикует пост на страницу бота. Пост автоматически зеркалится в каждый 1-1 чат с этим ботом.
Endpoint
POST https://api.telefon.chat/api/bot{token}/createPost
Content-Type: application/json
Параметры
| Поле | Тип | Описание |
|---|---|---|
text (или body) | string | Текст поста, до 4000 символов. Может быть пустым, если есть media. |
media | array? | Список медиа: каждый элемент {url: string, type: "image" или "video"}. До 4. |
buttons | array? | Кнопки под постом. См. Кнопки в постах. До 8 шт. |
allow_reposts | boolean? | Разрешить другим репостить (по умолчанию true). |
comments_enabled | boolean? | Можно ли комментировать (по умолчанию true). |
scheduled_at | string? | ISO 8601 дата-время публикации в UTC. См. Отложенную публикацию. |
hidden | boolean? | Создать пост как черновик. См. Скрытые посты. |
Пример запроса
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
- Запись попадает в таблицу
postsсpublished_at = NOW()(если не указанscheduled_at/hidden). - Backend асинхронно находит все direct-чаты, где бот участвует, и в каждом создаёт mirror-сообщение с
post_id. - Подписчики получают
:new_messageчерез websocket-канал чата — их UI обновляется в реальном времени. - На странице бота пост появляется первым (новые сверху).
Ошибки
| Код | Описание |
|---|---|
| 400 | create_post_failed — невалидные параметры. |
| 401 | Unauthorized — неверный токен. |