Три интерфейса для любых задач

b8q предоставляет полный набор API для автоматизации, интеграции и расширения функциональности мессенджера.

🔌

REST API

CRUD-операции над всеми сущностями: пользователи, чаты, сообщения, файлы, документы, задачи. JSON-ответы, пагинация, фильтрация. Базовый URL: /api/v1/

WebSocket API

Подписка на события в реальном времени: новые сообщения, статусы прочтения, typing indicators, обновления задач. Подключение через wss://

🔔

Webhooks

HTTP-уведомления о событиях в мессенджере. Настраиваете URL, выбираете типы событий -- b8q отправляет POST-запрос при каждом срабатывании триггера.

Основные эндпоинты

Все запросы требуют заголовок Authorization: Bearer <token>. Ответы в формате JSON. Кодировка UTF-8.

Метод Эндпоинт Описание
GET/api/v1/usersСписок пользователей с пагинацией
GET/api/v1/users/:idПрофиль пользователя
GET/api/v1/chatsСписок чатов текущего пользователя
POST/api/v1/chatsСоздание нового чата
GET/api/v1/chats/:id/messagesСообщения чата (пагинация, limit/offset)
POST/api/v1/chats/:id/messagesОтправка сообщения
POST/api/v1/filesЗагрузка файла (multipart/form-data)
GET/api/v1/files/:idСкачивание файла
GET/api/v1/documentsСписок документов
GET/api/v1/boardsКанбан-доски
POST/api/v1/boards/:id/cardsСоздание карточки на доске

Примеры кода

Отправка сообщения в чат через API -- три строки кода на любом языке.

curl
curl -X POST https://your-domain.com/api/v1/chats/42/messages \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content": "Релиз запланирован на пятницу, 14:00"}'
Python (requests)
import requests

resp = requests.post(
    "https://your-domain.com/api/v1/chats/42/messages",
    headers={"Authorization": "Bearer YOUR_API_TOKEN"},
    json={"content": "Релиз запланирован на пятницу, 14:00"}
)
print(resp.json())  # {"id": 1337, "chatId": 42, "content": "...", "createdAt": "..."}
JavaScript (fetch)
const resp = await fetch("https://your-domain.com/api/v1/chats/42/messages", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ content: "Релиз запланирован на пятницу, 14:00" })
});
const data = await resp.json();
console.log(data);

Реальное время через WebSocket

Подключайтесь к wss://your-domain.com/ws?token=YOUR_API_TOKEN и получайте события мгновенно.

События

  • message.new -- новое сообщение
  • message.read -- прочтение сообщения
  • typing.start / typing.stop -- индикатор набора
  • user.online / user.offline -- статус пользователя
  • board.card.moved -- перемещение карточки
  • document.updated -- изменение документа
JavaScript
const ws = new WebSocket(
  "wss://your-domain.com/ws?token=TOKEN"
);

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);

  if (data.type === "message.new") {
    console.log("Новое:", data.payload);
  }
};

Webhooks для серверных интеграций

Укажите URL, выберите типы событий -- b8q будет отправлять POST-запросы с JSON-телом при каждом срабатывании. Подпись HMAC-SHA256 для верификации.

Пример payload (message.new)
{
  "event": "message.new",
  "timestamp": "2026-03-16T10:30:00Z",
  "payload": {
    "id": 1337,
    "chatId": 42,
    "userId": 7,
    "content": "Релиз запланирован на пятницу, 14:00",
    "createdAt": "2026-03-16T10:30:00Z"
  },
  "signature": "sha256=a1b2c3d4e5f6..."
}

Аутентификация и лимиты

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

API-токен генерируется в настройках профиля. Передаётся в заголовке Authorization: Bearer <token>. Токен привязан к пользователю и наследует его права доступа. Администраторы могут создавать сервисные токены с ограниченным scope.

Rate Limits

  • REST API: 100 запросов/мин на токен
  • Отправка сообщений: 30 сообщений/мин
  • Загрузка файлов: 10 файлов/мин, до 100 МБ каждый
  • WebSocket: без ограничений на входящие события
  • Webhooks: повторная отправка 3 раза с backoff

Готовые интеграции

Подключаются в настройках администратора за 2-5 минут. Не требуют написания кода.

✈️

Telegram

Двусторонний обмен сообщениями. Сообщения из Telegram-чата пересылаются в b8q, ответы из b8q -- обратно в Telegram. Настройка через BotFather. Доступно на тарифах Бизнес и Корпорация.

📧

Email

Уведомления о новых сообщениях на email для офлайн-пользователей. Настраиваемые правила: все сообщения, только упоминания, только прямые чаты. SMTP или API-провайдер.

🔗

Incoming Webhooks

Публикуйте сообщения в чаты b8q из внешних систем: CI/CD, мониторинг, CRM. Один URL + POST-запрос с JSON -- и уведомление появляется в нужном чате.

Готовы к интеграции?

Запросите демо-доступ -- получите API-токен и начните тестировать API в течение 14 дней.