REST API
Олчат предоставляет REST API для интеграции с внешними системами и автоматизации. API позволяет выполнять операции с чатами, контактами и сообщениями программным способом.
Общие сведения
Заголовок раздела «Общие сведения»Базовый URL
Заголовок раздела «Базовый URL»Все запросы к API Олчат выполняются через базовый URL вашего портала:
https://{ваш-домен}/api/v1/Формат данных
Заголовок раздела «Формат данных»- Запросы: JSON (
Content-Type: application/json). - Ответы: JSON.
- Кодировка: UTF-8.
- Именование полей: camelCase в запросах и ответах API.
Аутентификация
Заголовок раздела «Аутентификация»JWT-токен
Заголовок раздела «JWT-токен»Для доступа к API используется JWT-токен (JSON Web Token). Токен передаётся в заголовке Authorization:
Authorization: Bearer {ваш_jwt_токен}Получение токена
Заголовок раздела «Получение токена»Токен выдаётся при авторизации через приложение Олчат в Битрикс24. Для программного доступа:
- Пользователь авторизуется в приложении Олчат через интерфейс Битрикс24.
- Приложение получает токен, привязанный к порталу и пользователю.
- Токен используется для последующих запросов к 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.1Host: ваш-домен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.1Host: ваш-домен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.1Host: ваш-домен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.
Взаимодействие с Битрикс24 API
Заголовок раздела «Взаимодействие с Битрикс24 API»Олчат использует REST API Битрикс24 для работы с открытыми линиями, CRM и ботами. Приложение работает с правами scope: app, imol, bot.
Основные методы Битрикс24, с которыми взаимодействует Олчат:
| Область | Методы |
|---|---|
| Открытые линии | imconnector.send.messages, imconnector.chat.name.set |
| CRM | crm.deal.get, crm.contact.get, crm.lead.get |
| Боты | imbot.message.add, imbot.app.register |
| SMS | messageservice.sender.add, messageservice.sender.delete |
Рекомендации
Заголовок раздела «Рекомендации»- Всегда проверяйте код ответа перед обработкой данных.
- Реализуйте обработку ошибок
401с повторной авторизацией. - Кешируйте редко изменяемые данные (список линий, статусы коннекторов) для снижения нагрузки.
- Используйте HTTPS для всех запросов.
- Не храните токены в клиентском коде или логах.