Как опубликовать пост в Telegram через cURL за 5 минут

5 минут от регистрации до первого поста через API. cURL-команда внутри.

Как настроить

1

Минута 1: Регистрация

Откройте https://t.me/Crosslybot, нажмите /start. Пройдите быстрый онбординг (язык, согласие, тарифный план). Webhook input требует Pro+, поэтому выберите тариф Pro.

2

Минута 2: Создание webhook

В Mini App перейдите в «Каналы → Webhook → Создать → Входящий». Введите имя (например, «Мой первый webhook»). Получите Bearer-токен — нажмите «Скопировать», сохраните в текстовый файл (показывается ОДИН раз).

3

Минута 3: Создание проекта

Главная → «Создать проект». В качестве источника выберите ваш webhook. Добавьте целевой канал — Telegram-канал где у бота есть права администратора. Активируйте проект.

4

Минута 4: Отправка cURL

Откройте терминал, выполните curl-команду из раздела ниже на этой странице. Замените `endpoint_id` (число) и Bearer-токен своими значениями.

5

Минута 5: Проверка результата

Откройте свой Telegram-канал — пост должен появиться. Если нет — посмотрите ответ API (200 OK?) и логи Crosslybot в разделе «Операции» → «Опубликовано».

Частые вопросы

Что если ответ API 401 Unauthorized?

Проверьте Bearer-токен: формат должен быть Authorization: Bearer crossly_live_. Если токен правильный — возможно он был отозван. В Crosslybot перейдите в детали webhook → «Перевыпустить токен» (старый отзывается мгновенно).

А если 400 Bad Request?

Ответ содержит errors[] со списком конкретных проблем валидации payload. Самые частые: тип media не из {photo, video, audio} (document блокируется), URL не https://, entity offset выходит за длину текста.

Где найти endpoint_id?

В Crosslybot, в карточке вашего webhook'а. Или в URL — при клике на webhook в списке откроется страница с эндпоинтом и его ID.

Можно ли пропустить этап создания проекта?

Нет — webhook без проекта работает в режиме «принимаем 200 OK, ничего не делаем» (для безопасности — атакующий не различит «токен валиден» и «токен валиден и используется»). Создайте проект чтобы посты реально публиковались.

Поддерживается ли webhook на Free тарифе?

Sandbox-тестер доступен на всех тарифах (Free 100 запросов/день). Реальный webhook input (с публикацией постов) — только Pro+.

Самый быстрый способ опубликовать пост в Telegram, VK и Max через программу — Crosslybot webhook. Не нужно регистрировать Bot Token, проходить VK OAuth, разбираться с Max API. Один Bearer-токен Crosslybot, одна cURL-команда — пост улетает.

cURL-команда

curl -X POST 'https://wh.crosslybot.ru/v1/webhooks/12345' \
  -H 'Authorization: Bearer crossly_live_xxxxxxxxxxxxxxxxxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: hello-world-001' \
  -d '{
    "text": "Привет, мир! 👋\n\nЭто мой первый пост через webhook.",
    "entities": [
      {"type": "bold", "offset": 0, "length": 12}
    ]
  }'

Замените:

  • 12345 → ваш endpoint_id из Crosslybot
  • crossly_live_xxxxx... → ваш Bearer-токен

Ожидаемый ответ

{
  "ok": true,
  "id": "post_abc123",
  "trace_id": "tr_xyz789",
  "queued_targets": 1
}

queued_targets — сколько целей в проекте получили этот пост.

Дальше — пример с медиа

curl -X POST 'https://wh.crosslybot.ru/v1/webhooks/12345' \
  -H 'Authorization: Bearer crossly_live_...' \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "Пост с картинкой",
    "media": [
      {"type": "photo", "url": "https://picsum.photos/800/600"}
    ],
    "buttons": [
      [{"text": "Подробнее", "url": "https://crosslybot.ru"}]
    ]
  }'

Sandbox без реальной публикации

Если хотите проверить формат payload без отправки в каналы:

curl -X POST 'https://wh.crosslybot.ru/v1/sandbox/test' \
  -H 'Authorization: Bearer crossly_live_...' \
  -H 'Content-Type: application/json' \
  -d '{...тот же payload...}'

Sandbox валидирует JSON-схему и URL медиа, возвращает would_create_post без записи в БД.

Что дальше

Изучите подробные гайды:

Webhook input доступен на тарифах Pro, Maxi и Business. Sandbox — на всех тарифах.

Бесплатный тариф

Готовы попробовать?

Подключите бота за 2 минуты. Бесплатный тариф — без карт и регистраций.

Подробнее о боте →