Skip to main content
Version: 50.0.0

2.10.1. REST API Інтеграція

Щоб налаштувати інтеграцію з зовнішнім сайтом, виконайте наступні дії:

  1. Додайте та налаштуйте бажану REST API інтеграцію — додайте сервер, а потім додайте та налаштуйте бажані методи сервера.
  2. Налаштуйте виклик методу з бізнес-процесу.
  3. Налаштуйте перетворення отриманих значень на змінні процесу.
  4. Налаштуйте передачу значень змінних в атрибути потрібного документа.

2.10.1.1. Налаштувати зовнішні API

Налаштування зовнішнього API складається з наступних етапів, кожен з яких є обов'язковим:

  1. Додати зовнішній API
  2. Додати сервер
  3. Додати методи
  4. Налаштувати методи
Примітка:

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

Також окрім інструкції, ви можете переглянути приклад налаштування в розділі Приклад налаштування зовнішнього API.

2.10.1.1.1. Додати зовнішній API

  1. У панелі навігації, виберіть робочий стіл Студія 1.

  2. Виберіть групу ярликів Інтеграція 2, а потім виберіть ярлик Зовнішні API 3.

  3. У панелі інструментів, виберіть "+" 4.

    Screenshot
  4. Заповніть поля 1, використовуючи підказки в таблиці нижче, а потім у панелі інструментів виберіть піктограму Зберегти 2.

    Screenshot
Назва поляОпис
Код*• Код повинен бути унікальним.
• Код повинен бути коротким (зазвичай до 10 символів).
• Використовуйте тільки латинські букви та цифри.
Назва*Введіть зрозумілу назву для відображення у платформі.
ОписВведіть короткий опис призначення зовнішнього АРІ
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.

2.10.1.1.2. Додати сервер

  1. Перейдіть у вкладку Сервери 1, а потім виберіть Додати сервер 2.

    Screenshot
Примітка:

Налаштуйте принаймні один сервер. Якщо API розгорнуто на декількох серверах, ви можете додати більше серверів.

  1. Заповніть поля 1, використовуючи підказки в таблиці нижче, а потім виберіть кнопку Додати 2.

    Screenshot
Назва поляОпис
URL адреса сервера*Вставте базову URL-адресу сервера, яка буде префіксом для всіх методів API.
Наприклад: "https://api.example.com/v1"
Назва*Введіть зрозумілу назву сервера. Якщо цей параметр не задано, буде використано сервер за замовчуванням.
Наприклад: "Тестовий сервер"
ОписВведіть короткий опис сервера який допоможе іншим користувачам системи зрозуміти призначення цього API.
Наприклад: "Інтеграція з тестовим сервісом для обміну документами".
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.

  1. Виберіть кнопку Налаштувати, щоб налаштувати бажаний тип авторизації для кожного сервера.

    Screenshot
  2. В полі Тип авторизації виберіть тип авторизації, який використовує доданий сервер 1, а потім виберіть кнопку Змінити 2. Ви можете дізнатись який тип авторизації використовує доданий сервер, в його офіційній API документації.

    • None — використовується для публічних API endpoints, які не потребують автентифікації користувача. Такий тип зазвичай використовують сервери з загальнодоступними даними, наприклад, курс валют НБУ.
    • Basic — є найпростішою формою автентифікації, де облікові дані (логін та пароль) передаються у заголовку запиту в форматі Base64. Заголовок має вигляд: Authorization: Basic {base64(username:password)}. Цей метод варто використовувати тільки з HTTPS, оскільки Base64 легко декодується.
    • Bearer — передбачає використання токенів доступу. Клієнт отримує токен після успішної автентифікації і додає його до кожного запиту у заголовку: Authorization: Bearer {token}.
    • Custom Header — дозволяє передавати ключ автентифікації у власному заголовку HTTP запиту (наприклад, X-API-Key: your-api-key).
    • Query String Parameter — передбачає передачу ключа автентифікації як параметра URL (наприклад, ?api_key=your-api-key). Хоча цей метод простий у реалізації, він вважається менш безпечним, оскільки ключі доступу можуть зберігатися в логах серверів та браузерів.
    Screenshot
  3. У панелі інструментів виберіть піктограму Зберегти.

    Screenshot

2.10.1.1.3. Додати методи

  1. Перейдіть у вкладку Методи 1, а потім виберіть Додати метод 2.

    Screenshot
  2. Заповніть поля 1, використовуючи підказки в таблиці нижче, а потім виберіть кнопку Додати 2.

    Screenshot
Назва поляОпис
HTTP метод*Виберіть тип HTTP методу API:
GET — використовується виключно для отримання даних без змін на сервері, передаючи параметри через URL. Наприклад, запит інформації про документ чи отримання списку за певним фільтром.
POST — призначений для створення нових ресурсів на сервері, де всі необхідні дані передаються в тілі запиту.
DELETE — використовується для видалення ресурсу, яке може бути як фізичним, так і логічним через зміну статусу.
PUT — застосовується для повного оновлення існуючого ресурсу, повністю замінюючи всі його дані новими значеннями. Важливо розуміти, що не перелічені в запиті поля будуть очищені.
PATCH — дозволяє частково оновити ресурс, змінюючи лише вказані поля та залишаючи решту незмінними. Це оптимальний метод для невеликих змін, наприклад, оновлення статусу документа.
Шлях*Введіть відносний URL методу, може містити параметри у форматі {{pathParam}}
Назва*Введіть зрозумілу назву методу
ОписВведіть короткий опис методу
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.

2.10.1.1.4. Налаштувати методи

  1. Поставте галочку Авторизувати виклик 1, якщо сервер з яким бажаєте налаштувати інтеграцію вимагає авторизації. Ви можете з'ясувати це в офіційній API документації сервера, з яким налаштовуєте інтеграцію.

  2. В полі Тай-маут, мілісекунд 2 введіть бажане число мілісекунд.

    Це означає, що протягом цього часу система очікує відповіді від зовнішнього сервісу або завершення певної операції. Якщо після встановленого вам часу, сервер не надав відповіді, то буде отримано помилку "Timeout was reached". Ви можете з'ясувати цей параметр в офіційній API документації сервера, з яким налаштовуєте інтеграцію.

    Screenshot
    Примітка:

    Якщо параметр не встановлено, використовується значення за замовчуванням 30 секунд.

  3. Якщо ви обрали тип методу POST чи DELETE, то у секції Прив'язування запиту виберіть налаштування тіла запиту, відповідно то вказівок в API документації сервера:

    • Не передавати тіло — використовується, коли запит не потребує передачі даних у тілі. Корисно для простих POST запитів, де всі параметри передаються через URL
    • Передавати тіло цілком — передає тіло запиту без модифікацій. Підходить, коли дані вже сформовані у потрібному форматі. Зазвичай використовується для передачі JSON або XML документів
    • Конструювати тіло — можна вказувати, які саме поля та в якому форматі будуть передані. Корисно, коли потрібно зібрати дані з різних джерел або трансформувати їх перед виправленням.
    Screenshot

В секції Прив'язування запиту ви можете налаштувати те, яку інформацію та в якому вигляді ви відправляєте на сервер. Наприклад, якщо ви хочете дізнатись курс валют, тут ви вказуєте які саме валюти вас цікавлять.

  1. У секції Прив'язування запиту виберіть Додати.

    Screenshot
  2. Заповніть поля 1, використовуючи підказки з таблиці нижче, а потім виберіть кнопку Додати 2.

    Screenshot
ПолеОпис
Частина HTTP запитуВиберіть зі списку частину HTTP запиту, в яку бажаєте встановити значення запиту.
Параметр шляху запиту — для значень, що передаються в URL (наприклад, /api/resource/{parameter})
HTTP заголовок — для значень, що передаються в заголовках запиту
Кукі — для значень, що передаються через cookies
Параметр шляху запиту*Вкажіть назву параметра, який очікує отримати зовнішня система. Це значення має відповідати параметру, визначеному в шаблоні URL методу у форматі {{parameter_name}}. Screenshot
Тип джерела*Виберіть зі списку джерело, звідки система братиме значення для параметра:
Аргумент метода — значення буде взято з аргументів при виклику метода
Змінна оточення — значення буде взято зі змінних середовища
Системне налаштування — значення буде взято з налаштувань системи
Константа — буде використано фіксоване значення
Аргумент метода*
поле доступно якщо ви обрали тип джерела "Аргумент метода"
Вкажіть назву змінної у вашій системі, значення якої буде передано у запиті. Screenshot
Змінна оточення*
поле доступно якщо ви обрали тип джерела "Змінна оточення"
Вкажіть назву змінної оточення, значення якої буде використано у запиті. Змінні оточення налаштовуються системним адміністратором та можуть містити, наприклад, URL-адреси, ключі доступу тощо.
Системне налаштування*
поле доступно якщо ви обрали тип джерела "Системне налаштування"
Вкажіть назву системного налаштування, значення якого буде використано у запиті. Системні налаштування — це глобальні параметри, що встановлюються для всієї системи.
Значення*
поле доступно якщо ви обрали тип джерела "Константа"
Введіть фіксоване значення, яке буде використовуватися при кожному виклику метода. Наприклад, якщо потрібно завжди передавати певний код валюти або формат відповіді.
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.


В секції Прив'язування параметрів відповіді ви можете налаштувати те, як ви хочете отримати окремі значення з відповіді сервера. Наприклад, якщо сервер повертає багато інформації, а нам потрібне лише конкретне значення курсу валюти.

  1. У секції Прив'язування параметрів відповіді виберіть Додати.

    Screenshot
  2. Заповніть поля 1, використовуючи підказки з таблиці нижче, а потім виберіть кнопку Додати 2.

    Screenshot
ПолеОпис
Ключ призначення*Вкажіть назву змінної у вашій системі, куди буде збережено отримане значення. Ключ повинен бути унікальним в межах одного методу.
Тип джерела*Виберіть зі списку джерело, звідки саме в HTTP відповіді брати значення:
Поле тіла відповіді — значення буде взято з тіла відповіді (зазвичай JSON або XML)
Властивість відповіді — значення береться з системних властивостей відповіді
HTTP заголовок — значення береться із заголовків відповіді
Кукі відповіді — значення береться з cookies, що повернув сервер.
Приклад: sessionId, authToken
Ключ джерела*Вкажіть конкретний шлях до значення відповідно до обраного типу джерела. Формат залежить від типу джерела.
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.


Секцію Прив'язування набору даних ви можете використати коли сервер повертає список або таблицю даних. Наприклад, якщо ви запитуєте курси одразу декількох валют, тут ви налаштовуєте як саме отримати та зберегти цей список.

  1. Увімкніть перемикач Прив'язування набору даних 1, якщо бажаєте повернути результат метода як набір даних, застосувати прив'язку до кожного рядка даних.

  2. В полі Корінь зв'язування набору даних 2, вкажіть шлях до масиву з елементами або залиште пустим, щоб використовувати кореневий масив як масив елементів.

    Screenshot
  3. Виберіть Додати, щоб додати нове поле прив'язки даних.

    Screenshot
  4. Заповніть поля 1 використовуючи підказки в таблиці нижче, а потім виберіть кнопку Додати 2.

    Screenshot
ПолеОпис
Ключ призначення*Введіть назву змінної у вашій системі, куди буде збережено отримане значення.
Наприклад: "rate" для зберігання курсу валюти
Тип джерела*Виберіть зі списку джерело, звідки саме в HTTP відповіді брати значення:
Поле тіла відповіді — значення буде взято з тіла відповіді (зазвичай JSON або XML)
Властивість відповіді — значення береться з системних властивостей відповіді
HTTP заголовок — значення береться із заголовків відповіді
Кукі відповіді — значення береться з cookies, що повернув сервер.
Приклад: sessionId, authToken
Ключ джерела*Вкажіть конкретний шлях до значення відповідно до обраного типу джерела. Формат залежить від типу джерела.
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.


В секції Прив'язка помилкових результатів ви можете налаштувати те, як система має реагувати, якщо щось пішло не так. Наприклад, якщо сервер недоступний або повернув помилку, тут ви вказуєте, як зберегти інформацію про цю помилку.

  1. Увімкніть перемикач Прив'язка помилкових результатів, якщо бажаєте зберігати інформацію про помилки від сервера.

    Screenshot
  2. Виберіть Додати, щоб налаштувати нове поле для обробки помилок.

    Screenshot
  3. Заповніть поля 1 використовуючи підказки в таблиці нижче, а потім виберіть кнопку Додати 2.

    Screenshot
ПолеОпис
Ключ призначення*Введіть назву змінної у вашій системі, куди буде збережено інформацію про помилку.
Наприклад: "errorMessage" для тексту помилки
Тип джерела*Виберіть зі списку джерело, звідки брати інформацію про помилку у відповіді.
Поле тіла відповіді — значення буде взято з тіла відповіді (зазвичай JSON або XML)
Властивість відповіді — значення береться з системних властивостей відповіді
HTTP заголовок — значення береться із заголовків відповіді
Кукі відповіді — значення береться з cookies, що повернув сервер.
Приклад: sessionId, authToken
Ключ джерела*Вкажіть конкретний шлях до інформації про помилку в отриманій відповіді.
Наприклад: якщо сервер повертає помилку у форматі {"error": {"message": "Сервер недоступний"}}, то шлях буде "error.message"
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.


Секцію Прив'язка набору даних для помилок ви можете використати коли сервер може повернути не одну, а декілька помилок одночасно. Наприклад, якщо ви відправили некоректні дані одразу в декількох полях, тут ви налаштовуєте як зберегти список всіх цих помилок.

  1. Увімкніть перемикач Прив'язка набору даних для помилок, якщо бажаєте отримувати список всіх помилок у відповіді.

    Screenshot
  2. Виберіть Додати, щоб налаштувати нове поле для обробки списку помилок.

    Screenshot
  3. Заповніть поля 1 використовуючи підказки в таблиці нижче, а потім виберіть кнопку Додати 2.

    Screenshot
ПолеОпис
Ключ призначення*Вкажіть назву змінної у вашій системі, куди буде збережено список помилок.
Наприклад: "validationErrors" для збереження списку всіх помилок валідації
Тип джерела*Виберіть зі списку джерело, звідки брати список помилок у відповіді.
Поле тіла відповіді — значення буде взято з тіла відповіді (зазвичай JSON або XML)
Властивість відповіді — значення береться з системних властивостей відповіді
HTTP заголовок — значення береться із заголовків відповіді
Кукі відповіді — значення береться з cookies, що повернув сервер.
Приклад: sessionId, authToken
Ключ джерела*Вкажіть конкретний шлях до списку помилок в отриманій відповіді.
Наприклад: якщо сервер повертає помилки у форматі {"errors": [{"field": "email", "message": "Некоректний email"}, {"field": "phone", "message": "Некоректний телефон"}]}, то шлях буде "errors"
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.

  1. У панелі інструментів, виберіть піктограму Зберегти або Зберегти та закрити.

    Screenshot

Після того як ви налаштували зовнішній API, налаштуйте виклик методу з бізнес-процесу.

2.10.1.2. Приклад налаштування зовнішнього API

У цьому розділі ми розглянемо приклад налаштування інтеграції системи Scriptum з безкоштовним та відкритим сервісом MockAPI. Для коректного налаштування інтеграції, більшість параметрів ми заповнюватимемо відповідно до офіційної API документації mockAPI.

Налаштування зовнішнього API складається з наступних етапів, кожен з яких є обов'язковим:

  1. Додаємо зовнішній API
  2. Додаємо сервер
  3. Додаємо методи
  4. Налаштовуємо методи

2.10.1.2.1. Додаємо зовнішній API

  1. У панелі навігації, виберіть робочий стіл Студія 1.

  2. Виберіть групу ярликів Інтеграція 2, а потім виберіть ярлик Зовнішні API 3.

  3. У панелі інструментів, виберіть "+" 4.

    Screenshot
  4. В полі Код 1 та Назва 2 вписуємо "text".

  5. В полі опис, вводимо "Приклад з mockapi" 3, щоб показати іншим користувачам нашої системи призначення цього API.

  6. У панелі інструментів виберіть піктограму Зберегти 4.

    Screenshot

2.10.1.2.2. Додаємо сервер

  1. Переходимо у вкладку Сервери 1, а потім вибираємо Додати сервер 2.

    Screenshot
  2. В полі URL адреса сервера 1, вставляємо посилання на сервер, з яким бажаємо створити інтеграцію. В нашому випадку, це посилання яке автоматично ми автоматично згенерували при створенні нового проекту у сервісі mockapi.

  3. В полі Назва 2, вводимо зрозумілу назву для нашого доданого серверу.

  4. Вибираємо кнопку Додати 3.

    Screenshot
  5. В налаштуваннях авторизації залишаємо все без змін, оскільки наш тестовий API не потребує додаткової автентифікації. У реальних проектах тут потрібно буде налаштувати відповідні параметри безпеки згідно з вимогами вашого API-сервера.

    Screenshot

2.10.1.2.3. Додаємо методи

В даному випадку, додаватимемо чотири методи:

  • POST — для створення нових записів на сервері.
  • DELETE — для видалення існуючих записів з сервера.
  • GET — для отримання даних з сервера.
  • PUT — для повного оновлення існуючих записів.
  1. Переходимо у вкладку Методи 1, а потім вибираємо Додати метод 2.

    Screenshot
  2. В полі HTTP метод 1 вибираємо "POST".

  3. В полі Шлях 2 вводимо "/document" (тут document — це назва ресурсу/endpoint, який ми створили)

  4. В полі Назва 3 відповідно вводимо "document_add". Назва є довільною, та повинна бути відображати призначення методу, щоб уникнути плутанини.

  5. В полі Опис 4 вводимо "Додавання документу". В описі рекомендується вказувати основне призначення методу.

    Screenshot
  6. Знову вибираємо кнопку Додати метод та додаємо метод DELETE.

    Screenshot
  7. Заповнюємо всі поля, як вказано на знімку екрана, а потім вибираємо кнопку Додати.

    Screenshot
  8. Знову вибираємо кнопку Додати метод та додаємо метод GET.

    Screenshot
  9. Заповнюємо всі поля, як вказано на знімку екрана, а потім вибираємо кнопку Додати.

    Screenshot
  10. Знову вибираємо кнопку Додати метод та додаємо метод PUT.

    Screenshot
  11. Заповнюємо всі поля, як вказано на знімку екрана, а потім вибираємо кнопку Додати.

    Screenshot

2.10.1.2.4. Налаштовуємо додані методи

Щоб коректно налаштувати додані методи, звертаємось до API документації з офіційного сайту mockAPI.


Налаштовуємо метод POST: для створення нових записів на сервері.

  1. Вибираємо метод POST.

    Screenshot
  2. Не ставимо галочку Авторизувати виклик 1, тому що для цього запиту не потрібна додаткова автентифікація. Так як у API документації MockAPI, ми з'ясували, що система використовуватиме стандартні параметри доступу.

  3. Поле Таймаут, мілісекунд 2 залишаємо порожнім, щоб використати значення за замовчуванням 30 секунд. Це означає, що протягом цього часу система очікує відповіді від зовнішнього сервісу або завершення певної операції. Якщо після 30 секунд сервер не надав відповіді, то буде отримано помилку "Timeout was reached".

    Screenshot
  4. Обираємо параметр прив'язування тіла Конструювати тіло, щоб самостійно сформувати структуру та зміст даних, які будуть передаватися у запиті. Це дає можливість точно визначити формат і склад інформації, яка надсилається на сервер.

    Screenshot
  5. Налаштовуємо формат, в якому метод передаватиме інформацію на сервер.

    a. В секції Прив'язування запиту вибираємо Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо HTTP заголовок.

    c. В полі HTTP заголовок 2 вводимо довільну назву "Content-Type", так як в цій частині ми налаштовуємо формат контенту, в якому передаватимемо інформацію на сервер.

    d. В полі Тип джерела 3 обираємо Константа, щоб вказати фіксоване значення формату даних, яке не буде змінюватися при різних викликах методу.

    e. В полі Значення 4 обираємо "application/json", щоб вказати серверу, що дані будуть передаватися у JSON форматі, що є стандартом для REST API комунікації.

    f. Вибираємо кнопку Додати 5.

    Screenshot
  6. Налаштовуємо формат, в якому бажаємо отримувати інформацію від серверу.

    a. В секції Прив'язування запиту вибираємо Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо HTTP заголовок.

    c. В полі HTTP заголовок 2 вводимо довільну назву "Accept", так як в цій частині ми налаштовуємо формат контенту, в якому отримуватимемо інформацію від сервера.

    d. В полі Тип джерела 3 обираємо Константа, щоб вказати фіксоване значення формату даних, яке не буде змінюватися при різних викликах методу.

    e. В полі Значення 4 обираємо "application/json", щоб вказати серверу, що його відповідь на наш запит потрібно передавати у JSON форматі, що є стандартом для REST API комунікації.

    f. Вибираємо кнопку Додати 5.

    Screenshot
  7. Налаштовуємо аргументи методу POST, значення яких бажаємо передавати на сервер.

    a. В секції Прив'язування запиту вибираємо Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо Поле тіла запиту.

    c. В полі Поле тіла запиту 2 вводимо "docType" — згідно параметрів зовнішнього АРІ, які ми дізнались в офіційній API документації mockAPI.

    d. В полі Тип джерела 3 обираємо Аргумент метода, щоб вказати, що значення буде передаватися динамічно при виклику методу.

    e. В полі Аргумент метода 4 вводимо "docType" — довільне значення, для зручності ми ввели його ідентичним до коду атрибута системи.

    f. Вибираємо кнопку Додати 5.

    Screenshot
  8. Ви можете переглянути приклад решти налаштувань у знімку екрана нижче.

    Screenshot
  1. Секцію Прив'язування параметрів відповіді залишаємо порожньою, оскільки ми будемо отримувати дані через налаштування набору даних, що дозволить нам краще структурувати отриману інформацію.

    Screenshot
  2. В секції Прив'язування набору даних вмикаємо перемикач 1, оскільки бажаємо повернути результат метода як набір даних та застосувати прив'язку до кожного рядка даних.

  3. Поле Корінь зв'язування набору даних 2 залишаємо порожнім, оскільки відповідь від сервера містить дані одного документа, а не масив документів.

    Screenshot
  4. Налаштовуємо отримання ідентифікатора створеного документа.

    a. Вибираємо кнопку Додати.

    Screenshot

    b. В полі Ключ призначення 1 вводимо "id".
    c. В полі Тип джерела 2 вибираємо Поле тіла відповіді.
    d. В полі Ключ джерела 3 вводимо "id".
    e. Вибираємо кнопку Додати 4.

    Screenshot
  5. Налаштовуємо отримання коду статусу успішного створення документа.

    a. Вибираємо кнопку Додати.

    Screenshot

    b. В полі Ключ призначення вводимо "StatusCode" 1.
    c. В полі Тип джерела вибираємо Властивість відповіді 2.
    d. В полі Ключ джерела вибираємо "Status Code" 3.
    e. Вибираємо кнопку Додати 4.

    Screenshot
  6. В секції Прив'язка помилкових результатів, вмикаємо перемикач, щоб в разі якщо метод поверне код статусу інший ніж 200-299, ми могли прив'язати відповідь, замість формування помилки сервера.

    Screenshot
  7. Додаємо атрибут для отримання статусу відповіді від сервера.

    a. Вибираємо кнопку Додати.

    Screenshot

    b. В полі Ключ призначення 1 вводимо "statusCode".

    c. В полі Тип джерела 2 вибираємо Властивість відповіді, оскільки статус код є стандартною властивістю HTTP-відповіді.

    d. В полі Ключ джерела 3 вибираємо "Status Code", це поле містить числовий код результату виконання запиту.

    e. Вибираємо кнопку Додати 4.

    Screenshot
  8. В секції Прив'язка набору даних для помилок, вмикаємо перемикач, щоб повернути властивості відповіді як набір даних, що складається з одного рядка.

    Screenshot
  9. Налаштовуємо отримання коду помилки для подальшої обробки та відображення користувачу.

    a. Вибираємо кнопку Додати.

    Screenshot

    b. В полі Ключ призначення 1 вводимо "errorCode".
    c. В полі Тип джерела 2 вибираємо Властивість відповіді.
    d. В полі Ключ джерела 3 вибираємо "Status Code", це поле містить числовий код результату виконання запиту.
    e. Вибираємо кнопку Додати 4.

    Screenshot
  10. Налаштовуємо отримання тексту помилки для інформативного відображення причини невдалого виконання запиту:

    a. Вибираємо кнопку Додати.

    Screenshot

    b. В полі Ключ призначення 1 вводимо "errorText".
    c. В полі Тип джерела 2 вибираємо Поле тіла відповіді.
    d. В полі Ключ джерела 3 вводимо "msg".
    e. Вибираємо кнопку Додати 4.

    Screenshot

Налаштовуємо метод DELETE: для видалення існуючих записів з сервера.

  1. Вибираємо метод DELETE.

    Screenshot
  2. Поле Авторизувати виклик 1 та Таймаут, мілісекунд 2 залишаємо без змін, так само як і в першому методі, що ми налаштували. Оскільки, типово, ці налаштування є однаковими для всіх методів.

    Screenshot
  3. Обираємо параметр прив'язування тіла Не передавати тіло, оскільки при видаленні даних нам не потрібно передавати додаткову інформацію — достатньо лише вказати, що саме ми хочемо видалити через URL.

    Screenshot
  4. Налаштовуємо параметри запиту для правильної передачі ідентифікатора елемента, який потрібно видалити:

    a. В секції Прив'язування запиту вибираємо Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо Параметр шляху.
    c. В полі Параметр шляху 2 вводимо "id".
    d. В полі Тип джерела 3 вибираємо Аргумент метода.
    e. В полі Аргумент метода 4 водимо "id".
    f. Вибираємо кнопку Додати 5.

    Screenshot
  5. Секцію Прив'язування параметрів відповіді залишаємо порожньою, оскільки при успішному видаленні метод DELETE не повертає жодних даних.

    Screenshot
  6. Секцію Прив'язування набору даних залишаємо порожньою, оскільки метод DELETE не повертає набори даних — він лише видаляє вказаний ресурс.

    Screenshot
  7. Налаштовуємо обробку відповіді сервера, щоб коректно опрацьовувати різні статуси завершення операції:

    a. В секції Прив'язка помилкових результатів вмикаємо перемикач 1, оскільки наш метод вертає код статусу інший ніж 200-299. Тому ми приймемо відповідь, замість формування помилки сервера.

    b. Вибираємо кнопку Додати 2.

    Screenshot

    c. В полі Ключ призначення 1, вводимо "statusCode", оскільки це дозволить нам зберегти код статусу відповіді для подальшої обробки.

    d. В полі Тип джерела 2 вибираємо Властивість відповіді.

    e. В полі Ключ Джерела 3 вибираємо "Status Code", оскільки це стандартне поле відповіді, яке містить результат виконання операції.

    f. Вибираємо кнопку Додати 4.

    Screenshot
  8. Секцію Прив'язка набору даних для помилок залишаємо порожньою, оскільки при виникненні помилки нам достатньо отримати код статусу — додаткові набори даних не очікуються.

    Screenshot

Налаштовуємо метод GET: для отримання даних з сервера.

  1. Вибираємо метод GET.

    Screenshot
  2. Поле Авторизувати виклик 1 та Таймаут, мілісекунд 2 залишаємо без змін, так само як і в першому методі, що ми налаштували. Оскільки, типово, ці налаштування є однаковими для всіх методів.

    Screenshot
  3. Вказуємо системі, як підставити конкретний ідентифікатор документа в URL-адресу.

    a. В секції Прив'язування запиту вибираємо кнопку Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо Параметр шляху.
    c. В полі Параметр шляху 2 вводимо "id".
    d. В полі Тип джерела 3 вибираємо Аргумент метода.
    e. В полі Аргумент метода 4 водимо "id".
    f. Вибираємо кнопку Додати 5.

    Screenshot
  4. Вказуємо серверу формат у якому бажаємо отримати відповідь.

    a. В секції Прив'язування запиту вибираємо кнопку Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо HTTP заголовок.

    c. В полі HTTP заголовок 2 вводимо "Accept".

    d. В полі Тип джерела 3 обираємо Константа, щоб вказати фіксоване значення формату даних, яке не буде змінюватися при різних викликах методу.

    e. В полі Значення 4 обираємо "application/json", щоб вказати серверу, що його відповідь на наш запит потрібно передавати у JSON форматі, що є стандартом для REST API комунікації.

    f. Вибираємо кнопку Додати 5.

    Screenshot
  5. Налаштовуємо отримання тіла відповіді від сервера:

    a. В секції Прив'язування параметрів відповіді вибираємо Додати.

    Screenshot

    b. В полі Ключ призначення 1 вводимо "Body".
    c. В полі Тип джерела 2 обираємо Властивість відповіді.
    d. В полі Ключ джерела 3 обираємо "Body".
    e. Вибираємо кнопку Додати 4.

    Screenshot
  6. В секції Прив'язування набору даних вмикаємо перемикач 1, адже бажаємо повернути результат метода як набір даних та застосувати прив'язку до кожного рядка даних.

  7. Поле Корінь зв'язування набору даних 2 залишаємо порожнім, оскільки відповідь від сервера містить дані одного документа, а не масив документів.

    Screenshot
  8. Додаємо атрибути, які потрібно отримати з відповіді сервера для подальшої обробки в системі. Приклад доданих атрибутів можете переглянути на знімку екрана.

    Screenshot
  9. В секції Прив'язка помилкових результатів, вмикаємо перемикач, щоб в разі якщо метод поверне код статусу інший ніж 200-299, ми могли прив'язати відповідь, замість формування помилки сервера.

    Screenshot
  10. Додаємо атрибут для отримання статусу відповіді від сервера.

    a. Вибираємо кнопку Додати.

    Screenshot

    b. В полі Ключ призначення 1 вводимо "statusCode".

    c. В полі Тип джерела 2 вибираємо Властивість відповіді, оскільки статус код є стандартною властивістю HTTP-відповіді.

    d. В полі Ключ джерела 3 вибираємо "Status Code", це поле містить числовий код результату виконання запиту.

    e. Вибираємо кнопку Додати 4.

    Screenshot
  11. Секцію Прив'язка набору даних для помилок залишаємо порожньою, оскільки у випадку помилки нам достатньо отримати код статусу — додаткові набори даних не потрібні.

    Screenshot

Налаштовуємо метод PUT: для повного оновлення існуючих записів.

  1. Вибираємо метод PUT.

    Screenshot
  2. Поле Авторизувати виклик 1 та Таймаут, мілісекунд 2 залишаємо без змін, так само як і в першому методі, що ми налаштували. Оскільки, типово, ці налаштування є однаковими для всіх методів.

    Screenshot
  3. Обираємо параметр прив'язування тіла Конструювати тіло, щоб налаштувати формат передачі даних.

    Screenshot
  4. Налаштовуємо заголовок Content-Type для визначення формату даних.

    a. В секції Прив'язування запиту вибираємо Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо HTTP заголовок.

    c. В полі HTTP заголовок 2 вводимо довільну назву "Content-Type", так як в цій частині ми налаштовуємо формат контенту, в якому передаватимемо інформацію на сервер.

    d. В полі Тип джерела 3 обираємо Константа, щоб вказати фіксоване значення формату даних, яке не буде змінюватися при різних викликах методу.

    e. В полі Значення 4 обираємо "application/json", щоб вказати серверу, що дані будуть передаватися у JSON форматі, що є стандартом для REST API комунікації.

    f. Вибираємо кнопку Додати 5.

    Screenshot
  5. Налаштовуємо формат, в якому будуть отримуватися дані від сервера:

    a. В секції Прив'язування запиту вибираємо Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо HTTP заголовок.

    c. В полі HTTP заголовок 2 вводимо довільну назву "Accept", так як в цій частині ми налаштовуємо формат контенту, в якому отримуватимемо інформацію від сервера.

    d. В полі Тип джерела 3 обираємо Константа, щоб вказати фіксоване значення формату даних, яке не буде змінюватися при різних викликах методу.

    e. В полі Значення 4 обираємо "application/json", щоб вказати серверу, що відповідь від нього очікується у форматі JSON.

    f. Вибираємо кнопку Додати 5.

    Screenshot
  6. Вказуємо системі налаштування HTTP-методу PUT для оновлення документа через зовнішнє API:

    a. В секції Прив'язування запиту вибираємо кнопку Додати.

    Screenshot

    b. В полі Частина HTTP запиту 1 вибираємо Параметр шляху.

    c. В полі Параметр шляху 2 вводимо "id".

    d. В полі Тип джерела 3 вибираємо Аргумент метода.

    e. В полі Аргумент метода 4 водимо "id".

    f. Вибираємо кнопку Додати 5.

    Screenshot
  7. Налаштовуємо аргументи метода. Приклад налаштувань метода PUT ви можете переглянути на знімку екрана.

    Screenshot
  8. Секцію Прив'язування параметрів відповіді залишаємо порожньою, оскільки метод PUT зазвичай не повертає дані після оновлення ресурсу — він лише підтверджує успішність операції через код статусу.

    Screenshot
  9. В секції Прив'язування набору даних, вмикаємо перемикач 1, щоб повернути результат метода як набір даних та застосувати прив'язку до кожного рядка даних.

  10. Поле Корінь зв'язування набору даних 2 залишаємо порожнім, оскільки відповідь містить дані для одного оновленого ресурсу, а не масив даних.

    Screenshot
  11. Додаємо атрибути які потрібно отримати з оновленого ресурсу для подальшої обробки в системі. Приклади доданих атрибутів можете переглянути на знімку екрана нижче.

    Screenshot
  12. В секції Прив'язка помилкових результатів, вмикаємо перемикач, щоб в разі якщо метод поверне код статусу інший ніж 200-299, ми могли прив'язати відповідь, замість формування помилки сервера.

    Screenshot
  13. Додаємо атрибут для отримання статусу відповіді від сервера.

    a. Вибираємо кнопку Додати.

    Screenshot

    b. В полі Ключ призначення 1 вводимо "statusCode".

    c. В полі Тип джерела 2 вибираємо Властивість відповіді, оскільки статус код є стандартною властивістю HTTP-відповіді.

    d. В полі Ключ джерела 3 вибираємо "Status Code", це поле містить числовий код результату виконання запиту.

    e. Вибираємо кнопку Додати 4.

    Screenshot
  14. Секцію Прив'язка набору даних для помилоку залишаємо порожньою, оскільки у випадку помилки нам достатньо отримати код статусу — додаткові набори даних не потрібні.

    Screenshot

2.10.1.3. Протестувати доданий метод

  1. У панелі навігації, виберіть робочий стіл Студія 1.

  2. Виберіть групу ярликів Інтеграція 2, а потім виберіть ярлик Зовнішні API 3.

  3. Виберіть запис, метод якого бажаєте протестувати 4.

    Screenshot
  4. Перейдіть у вкладку Методи.

    Screenshot
  5. У меню методів, виберіть метод який бажаєте протестувати 1, а потім виберіть кнопку Викликати 2.

    Screenshot
  6. В полі тіла запиту 1, введіть необхідні параметри, а потім виберіть кнопку Викликати 2.

    Screenshot
    Примітка:

    Поле тіло запиту може відрізнятись залежно від налаштувань методів, що ви задали у секції "Прив'язування запиту".

  7. В полі Набір даних ви зможете побачити результат запиту. В таблиці буде відображено поля зі значеннями, що були налаштовані в Прив'язування набору даних або ж дані будуть відображені у вигляді простого тексту, відповідно до налаштувань, що ви задали в секції Прив'язування параметрів відповіді.

    Screenshot
  8. Перейдіть у вкладку Параметри, що повернув метод, щоб переглянути дані у форматі JSON, які повернув метод.

    Screenshot

2.10.1.4. Викликати метод та обробити результати

В цьому розділі ви дізнаєтесь як викликати метод, який ви налаштували в попередніх розділах. А також, деталі роботи з отриманими даними.

Ця процедура має три основні етапи:

  1. Виклик методу: після виклику метода, ви отримаєте відповідь сервера у форматі JSON.

  2. Перетворення отриманих даних: ви зможете перетворити відповідь сервера з формату JSON у формат змінних.

  3. Передавання перетворених даних в атрибути документа.

    Screenshot
Примітка:

Подібні дії ви можете здійснити зі всіма, або лише з деякими відпрацьованими методами, залежно від ваших потреб.

Щоб виконати всі три етапи, виконайте наступні дії:

  1. Перейдіть в тип документа, дані з якого передаєте в методі:

    a. У панелі навігації, виберіть робочий стіл Студія 1.
    b. Виберіть ярлик Типи документів 2.
    c. Виберіть потрібний тип документа 3.

    Screenshot
  2. Додайте процес, для перетворення отриманих даних на змінні процесу, а потім передачі їх в атрибути документа.

    a. У відкритому типі документа, перейдіть у вкладку Процеси 1.
    b. Виберіть кнопку Створити процес 2.

    Screenshot

    c. Заповніть поля 1, використовуючи підказки в таблиці нижче, а потім виберіть кнопку Створити 2.

    Screenshot
Назва поляОпис
Код*• Код повинен бути унікальним.
• Код повинен бути коротким (зазвичай до 10 символів).
• Використовуйте тільки латинські букви та цифри.
Назва*Відображувана назва дефініції процесу
Тип дефініціїВиберіть тип дефініції "BPMN 2.0"
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.

  1. Додайте завдання-сервіс, щоб виконати виклик методу.

    Примітка:

    Перед налаштуванням виклику метода, протестуйте доданий метод.

    a. В меню інструментів, виберіть піктограму Screenshot 1, та вставте елемент у потрібному місці діаграми процесу 2.

    Screenshot

    b. У контекстному меню виберіть піктограму .

    Screenshot

    c. У контекстному меню, виберіть Завдання-сервіс.

    Screenshot

    d. Перейдіть в меню налаштування, та розгорніть секцію Загальне 1, а потім у полі Назва 2, введіть бажану назву завдання, до прикладу, "Отримати документ".

    Screenshot

    e. Розгорніть вкладку Імплементація 1, а потім в полі Шаблон 2 виберіть "Викликати метод зовнішнього API".

    f. В полі Зовнішній API 3 виберіть зі списку зовнішній API, результат методів якого бажаєте обробити.

    g. В полі Метод 4 виберіть зі списку метод, результат якого бажаєте обробити.

    Screenshot
  2. Виконайте парсинг даних: Додайте до процесу завдання-сценарій, щоб перетворити отримані дані в JSON форматі в змінні.

    a. В меню інструментів, виберіть піктограму Screenshot 1, та вставте елемент у потрібному місці діаграми процесу 2.

    Screenshot

    b. У контекстному меню виберіть піктограму 1, а потім виберіть Завдання-сценарій 2.

    Screenshot

    c. Перейдіть в меню налаштування, а потім розгорніть секцію Загальне 1.
    d. В полі Назва, введіть бажану назву завдання, до прикладу, "Обробка вхідних даних" 2.

    Screenshot

    e. У контекстному меню завдання, виберіть піктограму Screenshot.

    Screenshot

    f. Виберіть "+" 1, а потім Вбудований сценарій 2.

    Screenshot

    g. В текстове поле 1, введіть функцію execution.getVariable('variableName'), а під нею введіть решту сценарію для парсингу, залежно від типу даних, що ви отримали в результаті відпрацювання методу.

    Screenshot
  3. Додайте завдання-сервіс, щоб налаштувати передачу змінних в атрибути документа.

    a. В меню інструментів, виберіть піктограму Screenshot 1, та вставте елемент у потрібному місці діаграми процесу 2.

    Screenshot

    b. У контекстному меню виберіть піктограму 1, а потім виберіть Завдання-сервіс 2.

    Screenshot

    c. Перейдіть в меню налаштування, та розгорніть секцію Загальне 1.
    d. В полі Назва 2, введіть бажану назву завдання, наприклад, "Передавання даних"

    Screenshot

    e. Розгорніть вкладку Імплементація 1, а потім в полі Шаблон 2 виберіть "Оновити сутність".
    f. В полі Сутність 3 виберіть потрібну сутність.

    Screenshot

    g. В секції Атрибути сутності виберіть "+", щоб додати атрибути документа (чи іншої сутності), в які бажаєте передати отримані дані.

    Screenshot
  4. Додайте завершальну подію, щоб завершити процес.

    a. В меню інструментів, виберіть піктограму Screenshot 1, та вставте елемент в кінці діаграми процесу 2.

    Screenshot
  5. Додайте потоки між доданими завданнями, щоб відобразити в якій послідовності відбуватимуться події в процесі.

    a. Клацніть на один з доданих елементів 1, а потім в контекстному меню виберіть піктограму Screenshot 2.

    Screenshot

    b. Клацніть на другий елемент, до якого потрібно підʼєднати попередній елемент.

    Screenshot

    c. Повторіть ці дії з рештою об'єктів в процесі.

    Screenshot
  6. Збережіть бізнес-процес та розгорніть його.

    a. У панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити 2.
    b. У верхній панелі виберіть Розгорнути.

    Screenshot

    c. Виберіть кнопку Так, щоб підтвердити розгортання.

    Screenshot

Після відпрацювання процесу, ви отримаєте оброблені результати.

Screenshot

Щоб дізнатись більше деталей — див. документацію Camunda.