Skip to main content
Rekla External API позволяет внешним партнёрам создавать публикации в Telegram-каналах пользователей Rekla, проверять доступ и отслеживать статусы. Base URL: https://api.rek.la

Подключение

1

Запросите доступ

Напишите в @rekla_support:
«Хочу подключиться как партнёр к Rekla External API»
Вам выдадут:
  • Partner ID — для заголовка X-Partner-Id
  • Webhook Secret — для проверки подписи вебхуков
  • Start-команда — для создания API-ключей пользователями
2

Получите API-ключ пользователя

Пользователь вводит команду в боте @rekla:
Бот создаёт ключ и показывает его пользователю. Одновременно Rekla отправит вебхук api_key.created на ваш сервер с данными ключа.
3

Делайте запросы


Аутентификация

ЗаголовокОписание
X-API-KeyAPI-ключ пользователя Rekla
X-Partner-IdВаш идентификатор партнёра
API-ключ показывается пользователю один раз. Повторно получить его невозможно.

Эндпоинты

GET /external-api/me

Получить информацию о владельце API-ключа.
Ответ 200:

GET /external-api/channels//can-post

Проверить, может ли пользователь публиковать в указанный канал. Проверяется два условия:
  1. У пользователя есть права автопостинга в канале
  2. Бот Rekla является администратором канала с правами на публикацию
Ответ 200:
Ответ 403:
channel_id — это числовой Telegram ID канала (обычно начинается с -100).

POST /external-api/publications

Создать одну или несколько публикаций. Принимает массив объектов.
Ответ 201:
ПолеТипОбязательноОписание
external_idstringВаш внутренний ID публикации
channel_idintegerTelegram ID канала
textstringТекст публикации (HTML-разметка Telegram)
text_lenintegerДлина текста
media_typestringТип медиа: text, photo, video, animation, document, audio, voice, video_note, sticker, album, poll
file_idstringTelegram file_id (если есть)
file_urlstringURL файла (система получит file_id автоматически)
albumobjectКонфигурация альбома (обязательно при media_type: album)
pollobjectКонфигурация опроса (при media_type: poll)
inline_buttonsobjectИнлайн-кнопки
pricenumberЦена публикации
publish_datestringДата публикации (ISO 8601)
payment_statusstringnot_paid (по умолчанию), paid, barter
auto_deleteintegerАвтоудаление через N минут
with_sound_notificationbooleanЗвуковое уведомление (false по умолчанию)
wp_previewbooleanПредпросмотр ссылок
wp_preview_configobjectНастройки предпросмотра: is_disabled, url, prefer_small_media, show_above_text
allow_commentsbooleanРазрешить комментарии (true по умолчанию)
has_spoilerbooleanСпойлер на медиа
protect_contentbooleanЗащита от копирования
commentstringКомментарий к публикации
Альбомы (media_type: album): поле album обязательно и не может быть пустым. Только последний элемент альбома может содержать caption. Поле text должно совпадать с caption последнего элемента.Медиа-файлы: для типов кроме text и poll нужен file_id или file_url. При указании file_url система автоматически получит file_id через бота Rekla.Дата публикации: принимается в формате ISO 8601. Таймзона автоматически удаляется (хранится как naive datetime).
Коды ответов:
КодОписание
201Публикации созданы
403Нет доступа к одному или нескольким каналам
422Ошибка валидации входных данных
400Непредвиденная ошибка
Создание атомарно: если одна публикация из массива не пройдёт валидацию, ни одна не будет создана.

POST /external-api/publications/cancel

Отменить публикацию.
Ответ 204: пустое тело (успешная отмена).
Отменить можно только публикацию, созданную через вашего партнёра. Попытка отменить чужую публикацию вернёт 404.

POST /external-api/publications/status

Проверить статус публикации.
Ответ 200:
СтатусОписание
createdПубликация создана, ожидает отправки
publishedОпубликована в канале
canceledОтменена
deletedУдалена из канала
errorОшибка при публикации

Вебхуки

При определённых событиях Rekla отправляет POST-запрос на ваш webhook_url.

Событие api_key.created

Отправляется когда пользователь создаёт API-ключ через команду /start createapikey-<partner>. Тело запроса:
Заголовки:
ЗаголовокОписание
X-Webhook-EventТип события (api_key.created)
X-Webhook-IdУникальный UUID события
X-Webhook-TimestampUNIX timestamp отправки
X-Webhook-SignatureПодпись HMAC SHA256

Проверка подписи


Контакты

Поддержка интеграций: @rekla_support Версия API: 1.0.0 | Формат: application/json
Используя API, вы принимаете условия оферты.