Интеграция HR-сервисов через API
Проект: Шлюз интеграций для HR-сервисов
OAuth, подписки и webhooks HeadHunter/Avito с enrichment и фоновыми retries.
Что показывает кейс
Кейс показывает интеграционный HR-шлюз, который централизует OAuth, токены, webhooks, повторную обработку и синхронизацию состояний между внешними площадками и внутренней моделью сотрудников.
Контекст
HeadHunter и Avito используют разные OAuth, токены, подписки и webhook-контракты. Если интегрировать их напрямую в каждый HR-продукт, ошибки доставки и изменения API приходится решать в нескольких местах.
Что вошло в контур проекта
Сервис управляет OAuth и токенами, создаёт и переключает подписки HeadHunter/Avito, принимает и валидирует webhooks, обогащает события данными внешних API и повторяет тяжёлую обработку через Celery.
Решение
Отдельный шлюз концентрирует авторизацию, управление подписками, приём и валидацию webhooks, enrichment и фоновые retries для HR-событий.
- OAuth и управление приложениями/аккаунтами HeadHunter.
- Профили и подписки Avito.
- Обновление и безопасное хранение токенов.
- Приём и валидация webhook-событий.
- Enrichment данными HH/Avito перед передачей дальше.
- Celery-обработка, повторные попытки и фоновые операции.
Рабочий процесс
- OAuth
- Подписка
- Webhook
- Validation
- Enrichment
- Celery
- Доставка
Технологический контур
- Django
- Celery
- HeadHunter API
- Avito API
- Redis
- Docker
Бизнес-эффект
HR-события проходят через один устойчивый интеграционный слой, а продуктам-потребителям не нужно самостоятельно решать OAuth, retries и особенности внешних API.