Appearance
📘 Взаємодія між ЄДЕССБ та МБКД
Опис
Синхронізація даних між системами відбувається під час авторизації користувача у системі МБКД
Хук onAuth, який викликається після авторизації користувача через ID.GOV.UA отрумую дані користувача та робить запити до ЄДЕССБ за ідентифікаторами edrpou та rnokpp
Функція витягує дані з бази, обмінюється інформацією з API, формує оновлений профіль та логує всі ключові події
🔄 Основна логіка
- Пошук користувача в БД за
rnokpp. - Отримання токена доступу до DABI через
POST /api/authorization/get_token/v1. - Реєстрація/синхронізація користувача через
POST /api/authorization/create_user/v1. - Обробка пов’язаних організацій:
- 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
- Агрегація даних: профілі, працівники, сертифіковані особи, права доступу.
- Отримання сертифікатів з публічних API DABI
GET /public-api/get/edesb.certificate_detail_infoGET /public-api/get/edesb.geo_certificate_engineer
- Збереження результатів в БД через
infoSync(). - Формування логів та фінальної відповіді.
⚠️ Обробка помилок
- Відсутній користувач у БД →
404 - Відсутні параметри →
400 - Помилки API / БД →
500 - Помилки логуються з деталями (stack trace, uid, cron, onAuth)
📌 Особливості
- Працює з PostgreSQL та зовнішнім REST API
- Повна ізоляція: усі зовнішні запити обгорнуті в timeout, всі події логуються