Интеграции · REST API · сервис токенов
Внутренний REST API поверх коробочного Bitrix24 с сервисом токенов
Клиент:
Финансовая компания, NDA
Категория: Интеграции
Стек: PHP 8, Bitrix24 D7, MySQL (отдельная БД токенов), Bearer-токены, bcrypt, Postman
Срок: внедрялось поэтапно
Проблема
К CRM подключались кредитная система, контакт-центр, мобильное приложение, AI-бот и HR-сервисы. Раздавать каждому входящие вебхуки Bitrix24 значило давать широкие права без учёта, кто и что вызывает, и без единого контракта ответов.
Ограничения
Коробка в проде с живыми интеграциями — существующие клиенты не должны сломаться; часть эндпоинтов работает без ядра Bitrix; правила должны быть понятны другим командам без созвонов.
Что сделал
- Сервис токенов: Bearer и refresh в отдельной БД, пароли команд в bcrypt, админка выпуска и отключения токенов
- 25 эндпоинтов по доменам: контакты по ИИН и телефону, сделки и кредитная система, контакт-центр, мобильный чат, микробизнес, HR, лиды от AI-бота
- Единый формат успешных и ошибочных ответов, реестр эндпоинтов с пометкой SAFE/DANGEROUS, правила версионирования и тест-план для Postman
- Сканер эндпоинтов для администраторов и журнал обращений к API как часть аудиторского следа
- Июль 2026: закрыт обход токена на 6 эндпоинтах — анонимный доступ теперь возможен только по явному флагу в коде
Архитектура
Внешний сервис
→ Проверка Bearer-токена
→ Журнал обращений
→ Эндпоинт домена
→ Bitrix24 CRM
Результат
Внешние команды получили задокументированные эндпоинты с собственными токенами вместо вебхуков портала: видно, кто обращался, и заранее понятно, что меняет каждый вызов.
Что можно переиспользовать
Сервис Bearer-токенов с refresh
Единый контракт ответов API
Реестр эндпоинтов SAFE/DANGEROUS и сканер