############################################################# **Створення/редагування групи користувачів узгодження** ############################################################# Для роботи з цим методом користувач повинен бути `авторизованим `__ . .. important:: Вибір дії (створення або редагування). В разі якщо в тілі запиту (json) присутній **groupId**, то група з зазначеним **Id** підлягає редагуванню. Відсутність параметра **groupId** веде до створення нової групи. .. attention:: **Додавання / видалення** користувачів виконується шляхом перезатирання - залишаються тільки ті користувачі (передаються списком), userId котрих були передані в останньому запиті! +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | **Метод запиту** | **HTTP POST** | +==============================================================+============================================================================================================+ | **Content-Type** | application/json (тіло запиту/відповіді в json форматі в тілі HTTP запиту) | +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | **URL запиту** | **https://doc.edin.ua/bdoc/agreement_group** | +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | **Параметри, що передаються в URL (разом з адресою методу)** | В рядку заголовка (Header) "Set-Cookie" обов'язково передається **SID** - токен, отриманий при авторизації | +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ **JSON-параметри в тілі HTTP запиту/відповіді** ******************************************************************* ``REQUEST`` Таблиця 1 - Опис json-параметрів **запиту** метода API для створення групи: +-----------+--------------------+--------+------------------------+ | Параметр | Mandatory/Optional | Формат | Опис | +===========+====================+========+========================+ | companyId | M | long | id компанії | +-----------+--------------------+--------+------------------------+ | groupName | M | String | назва групи узгодження | +-----------+--------------------+--------+------------------------+ | comment | O | String | коментар | +-----------+--------------------+--------+------------------------+ Таблиця 2 - Опис json-параметрів **запиту** методу API для додавання користувачів в групу: +-----------+--------------------+---------------------+-----------------------------------+ | Параметр | Mandatory/Optional | Формат | Опис | +===========+====================+=====================+===================================+ | groupId | M | long | id групи узгодження | +-----------+--------------------+---------------------+-----------------------------------+ | **users** | M | ArrayList<**User**> | масив об'єктів; дані користувачів | +-----------+--------------------+---------------------+-----------------------------------+ +-----------------+--------------------+--------+----------------+ | **Об'єкт User** | Mandatory/Optional | Формат | Опис | +=================+====================+========+================+ | userId | M | long | id користувача | +-----------------+--------------------+--------+----------------+ ``RESPONSE`` Опис json-параметрів **відповіді** метода API (об'єкт **AgreementGroup**) Таблиця 3 - Опис параметрів об'єкта **AgreementGroup** .. csv-table:: :file: for_csv/AgreementGroup.csv :widths: 1, 12, 41 :header-rows: 1 :stub-columns: 0 Таблиця 4 - Опис параметрів об'єкта **Company** .. csv-table:: :file: for_csv/Company.csv :widths: 1, 12, 41 :header-rows: 1 :stub-columns: 0 Таблиця 5 - Опис параметрів об'єкта **User** .. csv-table:: :file: for_csv/User.csv :widths: 1, 12, 41 :header-rows: 1 :stub-columns: 0 -------------- **Приклади** ***************** Приклад тіла **запиту** в json форматі для **створення групи**: .. code:: ruby { "groupName": "Юридический отдел", "companyId": 989, "comment": null } Приклад тіла **запиту** в json форматі для **додавання користувачів в групу**: .. code:: ruby { "users": [ { "userId": 683, "accountId": 0, "email": "will752757omumbai@gmail.com", "isOwner": 0, "fio": "Гаврилюк Татьяна", "companies": [], "status": 0, "roles": [], "routes": [], "passSecureType": 0, "passPolicyId": 0, "lastLoginDate": 0, "uiTypes": [], "userAccess": {} }, { "userId": 693, "accountId": 0, "email": "566666798989797z55z@gmail.com", "isOwner": 0, "fio": "Петров Иван ", "companies": [], "status": 0, "roles": [], "routes": [], "passSecureType": 0, "passPolicyId": 0, "lastLoginDate": 0, "uiTypes": [], "userAccess": {} } ], "groupId": 187, "companyId": 989, "company": { "companyId": 1313, "accountId": 0, "type": 0, "name": "ФОП Гаврилюк Татьяна", "code": "3189823647", "isApproved": 0, "isSignedOffer": 0, "isActive": 0, "certificates": [], "dictionaries": [], "notifySettings": [] }, "groupName": "Юридический отдел", "comment": "" } -------------- Приклад тіла **відповіді** в json форматі для **створення групи**: .. code:: ruby { "users": [], "groupId": 187, "companyId": 989, "company": { "companyId": 989, "accountId": 0, "type": 0, "name": "dwdsss", "code": "433", "isApproved": 0, "isSignedOffer": 0, "isActive": 0, "ownershipTypeId": 0, "certificates": [], "dictionaries": [], "notifySettings": [] }, "groupName": "Юридический отдел" } Приклад тіла **відповіді** в json форматі для **додавання користувачів в групу**: .. code:: ruby { "users": [ { "userId": 683, "accountId": 423, "email": "wifgh644humbai@gmail.com", "isOwner": 1, "isCaptcha": 1, "fio": "Гаврилюк Татьяна", "companies": [], "status": 1, "roles": [], "routes": [], "passSecureType": 2, "passPolicyId": 497, "lastLoginIp": "127.0.0.1", "lastLoginDate": 1576159661, "uiTypes": [], "userAccess": {} }, { "userId": 693, "accountId": 423, "email": "5666643568989797zz@gmail.com", "isOwner": 0, "isCaptcha": 1, "fio": "Петров Иван ", "companies": [], "status": 1, "roles": [], "routes": [], "passSecureType": 2, "passPolicyId": 497, "lastLoginIp": "172.16.6.142", "lastLoginDate": 1576154372, "uiTypes": [], "userAccess": {} } ], "groupId": 187, "companyId": 1313, "company": { "companyId": 1313, "accountId": 0, "type": 0, "name": "ФОП Гаврилюк Татьяна", "code": "3189823647", "isApproved": 0, "isSignedOffer": 0, "isActive": 0, "certificates": [], "dictionaries": [], "notifySettings": [] }, "groupName": "Юридический отдел" }