Все возможности

REST API и Webhooks

Публичный API и вебхуки для интеграции с 1С, корпоративным порталом и BI. Статус: в разработке, спецификация зафиксирована — что доступно уже сейчас, описано ниже.

Статус: в разработке. Публичный REST API и вебхуки спроектированы, спецификация зафиксирована, реализация в работе. Публичных эндпоинтов пока нет — эта страница честно рассказывает, что уже можно делать сегодня и каким будет API, когда он выйдет. Если интеграция для вас — условие покупки, напишите нам: мы называем сроки и подключаем к раннему доступу.

Что можно интегрировать уже сейчас

Компания на 200-1000 человек не живёт в одном инструменте. Кадры ведутся в 1С или другой учётной системе, доступы раздаются в Jira и GitHub, отчётность собирается в BI. Пока публичного API нет, DTPulse обменивается данными через файлы и через вход по SSO — способы скучные, но рабочие.

Импорт и экспорт сотрудников. В админке есть импорт из CSV с разбором ошибок по строкам и обратная выгрузка в двух форматах: CSV с тем же набором колонок, что и в импорте (его можно загрузить обратно — в другую компанию или в on-premise установку), и JSON — полный снимок с отделами, руководителями, связями подчинения и фотографиями. Ночная выгрузка из учётной системы в CSV и загрузка файлом закрывает основной сценарий синхронизации кадров.

Автосоздание учётных записей. При подключённом SAML, Google или Slack учётная запись создаётся при первом входе — новому сотруднику не нужно заводить профиль руками ни в портале, ни в скрипте.

Выгрузка журнала аудита. Журнал выгружается в CSV за произвольный период — до 50 000 строк за запрос. Этого хватает, чтобы залить события в SIEM или в корпоративное хранилище раз в сутки.

Всё перечисленное работает и покрывает большую часть того, ради чего обычно просят API. Чего оно не закрывает — реакции на событие в реальном времени и записи из внешней системы без участия человека. Ради этого и делается API.

Каким будет API

Решения по архитектуре приняты и зафиксированы в спецификации, менять их мы не планируем.

Токены компании, а не пользователя. Токен принадлежит компании, а не сотруднику, который его выпустил. Уволился автор интеграции — интеграция продолжает работать. У токена есть имя, набор прав, срок жизни (по умолчанию 90 дней) и необязательный список разрешённых IP-подсетей. В базе хранится только хеш; сам токен показывается один раз при выпуске.

Права на уровне ресурса. Не «полный доступ», а набор вроде read:employees, write:absences, approve:absences, read:pulse. Права токена не могут превышать полномочия роли, которая его выпустила: HR не сможет создать токен с правами, которых у HR нет в интерфейсе.

Чтение и запись. Сотрудники, отделы, отсутствия и согласования, циклы 360-оценки и их результаты, отчёты о работе, цели, агрегаты пульс-опросов, журнал аудита. Постраничность курсорная — на компании в тысячу человек с годовой историей отсутствий это принципиально.

Ответ будет выглядеть так:

GET /api/v1/employees?limit=200
Authorization: Bearer dtp_live_...

{ "data": [ … ], "meta": { "cursor": "…" } }

Вебхуки с подписью и повторами. События — создание и изменение сотрудника, подача, согласование и отклонение заявки на отсутствие, запуск и закрытие цикла оценки, сдача отчёта, закрытие пульс-опроса. Каждая доставка подписывается HMAC-SHA256 по схеме, знакомой всем, кто интегрировался со Stripe, и содержит уникальный идентификатор для защиты от повторной обработки. Неудачная доставка повторяется по расширяющемуся расписанию до пяти раз, дальше уходит в отдельный список, откуда её можно отправить заново вручную. Журнал доставок с кодами ответа и текстом ошибки виден в админке.

Лимиты по тарифам. Никакого «безлимита»: на TEAM — 3 токена, 3 вебхука и 60 запросов в минуту, на BUSINESS — 10, 10 и 300, на ENTERPRISE — 50, 50 и 1000. На бесплатном тарифе API не включается.

Всё под аудитом. Каждый вызов пишется в журнал аудита с пометкой, что действие совершил токен, а не человек, и с именем токена. На вопрос «кто согласовал этот отпуск» будет ответ «интеграция с 1С-Документооборотом, заявка №…».

Кому это будет полезно

Инженеру компании — вместо парсинга CSV по ночам обычный HTTP-клиент, курсорная постраничность и предсказуемый формат ошибок.

HR — кадровые изменения приходят из учётной системы сами, без ручного переноса и без расхождений между двумя списками сотрудников.

ИТ — приём на работу автоматически заводит доступы в Jira, Confluence и GitHub по событию employee.created, а увольнение их снимает.

Аналитике — результаты оценки и пульс-опросов забираются в BI по расписанию, с тем же ограничением на минимальный размер выборки, что и в интерфейсе: агрегаты меньше трёх ответов не отдаются никому.

С чего начать

Сегодня — с импорта и экспорта: они закрывают синхронизацию кадров и не требуют ни строчки кода. Если вам нужна именно программная интеграция, напишите нам с описанием сценария — мы приоритизируем эндпоинты под реальные задачи, а не по алфавиту, и подключим к API, как только он выйдет.

Соберите весь HR-контур в одном портале

Попробовать бесплатно

Бесплатно до 10 человек. Карта не нужна.