Skip to content

📘 Взаємодія між ЄДЕССБ та МБКД

Опис

Синхронізація даних між системами відбувається під час авторизації користувача у системі МБКД

Хук onAuth, який викликається після авторизації користувача через ID.GOV.UA отрумую дані користувача та робить запити до ЄДЕССБ за ідентифікаторами edrpou та rnokpp

Функція витягує дані з бази, обмінюється інформацією з API, формує оновлений профіль та логує всі ключові події

🔄 Основна логіка

  1. Пошук користувача в БД за rnokpp.
  2. Отримання токена доступу до DABI через POST /api/authorization/get_token/v1.
  3. Реєстрація/синхронізація користувача через POST /api/authorization/create_user/v1.
  4. Обробка пов’язаних організацій:
    • 4.1. Реєстрація нових організацій
    • 4.1.1. Додавання користувача як "Власника" через метод POST /api/authorization/org_employer/v1
    • 4.2 Отримання інформації про організації organizations_array
    • 4.2.1 Власна організація (ЄДРПОУ користувача є рівним поточному у циклі) - /api/authorization/create_org/v1
    • 4.2.2 Інші організації - /api/authorization/get_org_info/v1
  5. Агрегація даних: профілі, працівники, сертифіковані особи, права доступу.
  6. Отримання сертифікатів з публічних API DABI
    • GET /public-api/get/edesb.certificate_detail_info
    • GET /public-api/get/edesb.geo_certificate_engineer
  7. Збереження результатів в БД через infoSync().
  8. Формування логів та фінальної відповіді.

⚠️ Обробка помилок

  • Відсутній користувач у БД → 404
  • Відсутні параметри → 400
  • Помилки API / БД → 500
  • Помилки логуються з деталями (stack trace, uid, cron, onAuth)

📌 Особливості

  • Працює з PostgreSQL та зовнішнім REST API
  • Повна ізоляція: усі зовнішні запити обгорнуті в timeout, всі події логуються