Отримання деталізованої інформації за суб’єктом в ЄДР: Get Subject Detail Edr Registry
1. Загальна інформація
Для спрощення моделювання бізнес-процесів розроблені типові інтеграційні конектори для отримання інформації з ЄДР[1], налаштування яких відбувається на схемах бізнес-процесів у додатку Camunda Modeler.
- Наразі імплементовано 2 типи конекторів для отримання даних із ЄДР:
- 
- 
Інтеграційний конектор searchSubject— призначений для отримання інформації про суб’єкт за кодом ЄДРПОУ або РНОКПП (раніше — ІПН).
- 
Інтеграційний конектор subjectDetails— призначений для отримання деталізованої інформації про суб’єкт за ID.
 
- 
2. Налаштування делегата
Розширення Get Subject Detail Edr Registry — делегат для виклику зовнішнього SOAP-сервісу, призначений для отримання деталізованої інформації про суб’єкт за ID, який налаштовується за допомогою шаблону Get Subject Detail Edr Registry (subjectDetailEdrRegistryConnectorDelegate.json).
| 
 | 
- 
Відкрийте Service Task. 
- 
На панелі налаштувань справа натисніть Open Catalogта оберіть шаблон Get Subject Detail Edr Registry зі списку. 
- 
Налаштуйте обраний шаблон: - 
У полі Nameвкажіть назву задачі. Наприклад,Пошук деталізованої інформації за суб’єктом в ЄДР.
- 
У полі Authorization tokenзазначте токен для доступу до СЕВ ДЕІР "Трембіта". Наприклад,{token}.Authorization tokenнадається постачальником сервісу (в нашому випадку — ЄДР), який є іншим учасником СЕВ ДЕІР "Трембіта".
- 
У полі Idзазначте унікальний ідентифікатор суб’єкта для пошуку в ЄДР. Наприклад,{subject_id}.
- 
У полі Result variableзазначте назву вихідного параметру, до якого буде записано відповідь від сервісу. Наприклад,response.
  
- 
3. Приклади використання у бізнес-процесі
Розглянемо ситуацію, коли у бізнес-процесі необхідно перевірити статус суб’єкта в ЄДР.
Для цього у процесі необхідно налаштувати інтеграційний конектор для пошуку суб’єкта з ЄДР (в нашому випадку відповідь буде записано до змінної responseEDR).

    {
    "name": "active user",
    "code": "77777777",
    "id": 213123,
    "state": "ACTIVE"
    }Відповідь містить параметр state, що має значення "ACTIVE".
Далі на шлюзі відбувається перевірка:
| Якщо stateмає значенняSUSPENDEDабоCANCELLED, то бізнес-процес видає валідаційну помилку. | 
${responseEdr.value.responseBody.elements().get(0).prop('state').value().equals('SUSPENDED') || responseEdr.responseBody.elements().get(0).prop('state').value().equals('CANCELED')}

| Якщо stateне дорівнюєSUSPENDEDабоCANCELLED, то відбудеться подальше виконання процесу. | 
${!responseEdr.value.responseBody.elements().get(0).prop('state').value().equals('SUSPENDED') && !responseEdr.value.responseBody.elements().get(0).prop('state').value().equals('CANCELED')}
