Перейти к содержимому

REST API

Олчат предоставляет REST API для интеграции с внешними системами и автоматизации. API позволяет выполнять операции с чатами, контактами и сообщениями программным способом.

Все запросы к API Олчат выполняются через базовый URL вашего портала:

https://{ваш-домен}/api/v1/
  • Запросы: JSON (Content-Type: application/json).
  • Ответы: JSON.
  • Кодировка: UTF-8.
  • Именование полей: camelCase в запросах и ответах API.

Для доступа к API используется JWT-токен (JSON Web Token). Токен передаётся в заголовке Authorization:

Authorization: Bearer {ваш_jwt_токен}

Токен выдаётся при авторизации через приложение Олчат в Битрикс24. Для программного доступа:

  1. Пользователь авторизуется в приложении Олчат через интерфейс Битрикс24.
  2. Приложение получает токен, привязанный к порталу и пользователю.
  3. Токен используется для последующих запросов к API.

Токены имеют ограниченный срок действия. При истечении срока токена необходимо выполнить повторную авторизацию. API вернёт ошибку 401 Unauthorized при использовании истёкшего токена.

МетодПутьОписание
GET/lines/Получить список линий портала
GET/lines/{id}/Получить информацию о линии
GET/connector/status/Статус подключённых коннекторов
МетодПутьОписание
GET/contacts/Список контактов
GET/contacts/{id}/Информация о контакте
GET/contacts/detail/Детальная информация о контакте
МетодПутьОписание
GET/dialogs/Список диалогов
GET/groups/Список групповых чатов
МетодПутьОписание
GET/account/info/Информация об аккаунте
GET/account/status/Статус аккаунта
GET /api/v1/lines/ HTTP/1.1
Host: ваш-домен
Authorization: Bearer {токен}

Пример ответа:

{
"lines": [
{
"id": 1,
"lineNumber": 1,
"lineName": "Основная линия",
"connectorName": "olchat_telegram",
"isActive": true
}
]
}
GET /api/v1/contacts/detail/?phone=79001234567&connector=olchat_telegram HTTP/1.1
Host: ваш-домен
Authorization: Bearer {токен}

Пример ответа:

{
"contact": {
"chatId": "123456789",
"firstName": "Иван",
"lastName": "Петров",
"username": "ivanpetrov",
"phone": "79001234567",
"isOnline": false,
"lastSeen": "2026-03-20T10:30:00Z"
}
}
GET /api/v1/connector/status/?connector=olchat_telegram&lineNumber=1 HTTP/1.1
Host: ваш-домен
Authorization: Bearer {токен}

Пример ответа:

{
"status": "authorized",
"connectorName": "olchat_telegram",
"lineNumber": 1,
"accountName": "Олчат Support"
}
КодОписание
200Запрос выполнен успешно
400Некорректный запрос (неверные параметры)
401Не авторизован (отсутствует или истёк токен)
403Доступ запрещён (недостаточно прав)
404Ресурс не найден
429Превышен лимит запросов
500Внутренняя ошибка сервера

При возникновении ошибки API возвращает JSON с описанием:

{
"detail": "Описание ошибки"
}

Для защиты от перегрузки API применяются лимиты на количество запросов:

  • Количество запросов ограничено по IP-адресу и токену.
  • При превышении лимита API вернёт код 429 Too Many Requests.
  • Рекомендуется выполнять не более 10 запросов в секунду.
  • API доступен только для авторизованных пользователей портала.
  • Доступ к данным ограничен порталом текущего пользователя.
  • Массовые операции (batch) не поддерживаются через REST API — для автоматизации используйте роботов Битрикс24.

Олчат использует REST API Битрикс24 для работы с открытыми линиями, CRM и ботами. Приложение работает с правами scope: app, imol, bot.

Основные методы Битрикс24, с которыми взаимодействует Олчат:

ОбластьМетоды
Открытые линииimconnector.send.messages, imconnector.chat.name.set
CRMcrm.deal.get, crm.contact.get, crm.lead.get
Ботыimbot.message.add, imbot.app.register
SMSmessageservice.sender.add, messageservice.sender.delete
  • Всегда проверяйте код ответа перед обработкой данных.
  • Реализуйте обработку ошибок 401 с повторной авторизацией.
  • Кешируйте редко изменяемые данные (список линий, статусы коннекторов) для снижения нагрузки.
  • Используйте HTTPS для всех запросов.
  • Не храните токены в клиентском коде или логах.