Integration Guide for Banks
[UKR] Посібник з інтеграції для банку
[UKR] Посібник з інтеграції для банку
  • General
    • 💰Загальний опис
      • Перекази між цифровізованими сутностями
        • Варіант 1. Швидке створення/видалення ідентифікаторів
        • Варіант 2. Стандартне створення/видалення ідентифікаторів (опціонально)
      • Історія версій
      • Журнал змін API
      • Глосарій
    • 🌐Загальні вимоги
    • 👉Базовий варіант впровадження
    • 📅План інтеграції
      • План інтеграції (Бізнес)
      • План інтеграції (Технічна команда)
      • Мультипідпис
    • ❗Повідомлення про помилки
  • 🛠️API МЕТОДИ
    • Автентифікація
      • Авторизація через JWT
      • Служба Аутентифікації Банку
      • JWT формат
    • Працівники
      • Призначити роль працівнику
      • Управління ролями
    • Клієнти
      • Сегмент
    • Цифровізовані сутності
    • Ідентифікатори
    • Трансфер (перерозподілення ідентифікаторів)
      • Мультипідпис для трансферів
      • Зворотні виклики
      • Категорія
    • Ліміти
    • Реконсиляція
    • [необов’язково] Відділення
      • Відділення (доступ)
      • Як додати працівника до віддлення (філії)
      • Фільтр по відділенню
      • Трансфери (Відділення)
Powered by GitBook
On this page
  1. API МЕТОДИ
  2. Працівники

Управління ролями

PreviousПризначити роль працівникуNextКлієнти

Last updated 1 year ago

Необхідно додати до різних користувачів ролі та надати їм необхідні дозволи.

Працюючи з ролями та дозволами через DCM API, є наступні методи та функції:

Отримати доступні дозволи

Додати певний дозвіл до ролі

Видалити певний дозвіл у ролі

Отримати ролі з дозволами для таблиці ролей

Отримати список ролей

Створити роль

Видалити роль

Звертаємо увагу: Ви не можете видалити роль «Адміністратора».

Отримати перелік сутностей для дозоволу

Наприклад, такі як:

  • Відділення;

  • Працівник;

  • Сутності;

  • Клієнти.

Отримати список користувачів

Додати користувача до ролі

Вилучити користувача з ролі

Отримати всі доступні назви дозволів

Щоб отримати список всіх доступних дозволів для ролей, необхідно використовувати зазначений нижче метод:

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

Створення дозволів

🛠️

Get available permission

get

Get available permission

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Responses
200
OK
application/json
400
json with error msg
application/json
get
GET /api/v1/counterparty/{counterparty_guid}/rbac/permission HTTP/1.1
Host: [url_host]
Accept: */*
{
  "permissions": [
    "text"
  ]
}

Add role permission

post

Add role permission

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
permission_guidstringOptional

permission_guid that you get as a response to endpoint Permissions titles/Get permissions

role_namestringOptional

role name

Responses
200
OK
application/json
Responseobject
400
json with error msg
application/json
post
POST /api/v1/counterparty/{counterparty_guid}/rbac/permission HTTP/1.1
Host: [url_host]
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "permission_guid": "text",
  "role_name": "text"
}
{}

Remove role permission

delete

Remove role permission

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
permission_guidstringOptional

guid of permission that you need to remove from an employee

role_namestringOptional

role's name

Responses
200
OK
application/json
Responseobject
400
json with error msg
application/json
delete
DELETE /api/v1/counterparty/{counterparty_guid}/rbac/permission HTTP/1.1
Host: [url_host]
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "permission_guid": "text",
  "role_name": "text"
}
{}
  • Отримати доступні дозволи
  • GETGet available permission
  • Додати певний дозвіл до ролі
  • POSTAdd role permission
  • Видалити певний дозвіл у ролі
  • DELETERemove role permission
  • Отримати ролі з дозволами для таблиці ролей
  • GETGet roles with permissions for table
  • Отримати список ролей
  • GETGet roles list
  • Створити роль
  • POSTCreate Role
  • Видалити роль
  • DELETEDelete Role
  • Отримати перелік сутностей для дозоволу
  • GETGet scopes
  • Отримати список користувачів
  • GETGet users list
  • Додати користувача до ролі
  • POSTAdd user to role
  • Вилучити користувача з ролі
  • DELETERemove user from role
  • Отримати всі доступні назви дозволів
  • GETGet permissions
  • Створення дозволів
  • POSTcreate keto permissions

Get roles with permissions for table

get

Get roles with permissions for table

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Responses
200
OK
application/json
400
json with error msg
application/json
get

Get roles list

get

Get roles list

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Responses
200
OK
application/json
400
json with error msg
application/json
get

Get scopes

get

Get scopes

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Responses
200
OK
application/json
400
json with error msg
application/json
get

Get users list

get

Get users list

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Query parameters
role_namestringOptional

role name (string)

limitstringOptional

limit (int64)

page_tokenstringOptional

page token (int64)

Responses
200
OK
application/json
400
json with error msg
application/json
get

Get permissions

get

Get permissions

Query parameters
guidsstring[]Optional

permissions GUIDs (uuid)

keto_kindsstring[]Optional

keto kinds (string)

keto_permission_namesstring[]Optional

keto permissions (string)

keto_scope_namesstring[]Optional

scope names (string)

offsetintegerOptional

Offset

limitintegerOptional

Limit

orderingstring · enumOptional

Ordering

Possible values:
Responses
200
OK
application/json
400
json with error msg
application/json
get
GET /api/v1/counterparty/{counterparty_guid}/rbac/permission/table HTTP/1.1
Host: [url_host]
Accept: */*
{
  "roles": [
    "text"
  ],
  "rows": [
    {
      "group_lang_key": "text",
      "group_name": "text",
      "permissions": [
        {
          "guid": "text",
          "name": "text",
          "name_lang_key": "text",
          "roles": [
            {
              "allowed": true,
              "name": "text"
            }
          ],
          "sort_number": 1
        }
      ],
      "sort_number": 1
    }
  ]
}
GET /api/v1/counterparty/{counterparty_guid}/rbac/role HTTP/1.1
Host: [url_host]
Accept: */*
[
  {
    "roles": [
      "text"
    ]
  }
]

Create Role

post

Create Role

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
role_namestringOptional

role's name

Responses
200
OK
application/json
Responseobject
400
json with error msg
application/json
post
POST /api/v1/counterparty/{counterparty_guid}/rbac/role HTTP/1.1
Host: [url_host]
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "role_name": "text"
}
{}

Delete Role

delete

Delete Role

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
role_namestringOptional

the name of the role that need to remove

Responses
200
OK
application/json
Responseobject
400
json with error msg
application/json
delete
DELETE /api/v1/counterparty/{counterparty_guid}/rbac/role HTTP/1.1
Host: [url_host]
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "role_name": "text"
}
{}
GET /api/v1/counterparty/{counterparty_guid}/rbac/scope HTTP/1.1
Host: [url_host]
Accept: */*
{
  "scopes": [
    "text"
  ]
}
GET /api/v1/counterparty/{counterparty_guid}/rbac/user HTTP/1.1
Host: [url_host]
Accept: */*
[
  {
    "page_token": "text",
    "users": [
      {
        "guid": "text",
        "role_name": "text"
      }
    ]
  }
]

Add user to role

post

Add user to role

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
role_namestringOptional

role name for the user

user_guidstringOptional

id of the user you add role to

Responses
200
OK
application/json
Responseobject
400
json with error msg
application/json
post
POST /api/v1/counterparty/{counterparty_guid}/rbac/user HTTP/1.1
Host: [url_host]
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "role_name": "text",
  "user_guid": "text"
}
{}

Remove user from role

delete

Remove user from role

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
role_namestringOptional

role's name

user_guidstringOptional

a user you remove the role from

Responses
200
OK
application/json
Responseobject
400
json with error msg
application/json
delete
DELETE /api/v1/counterparty/{counterparty_guid}/rbac/user HTTP/1.1
Host: [url_host]
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "role_name": "text",
  "user_guid": "text"
}
{}

create keto permissions

post

create keto permissions

Body
default_group_namestringOptional

if group_lang_key not found in translation, use it as default

default_namestringOptional

if name_lang_key not found in translation, use it as default

group_lang_keystringOptional

key for translation table, where find name of group for permissions

group_sort_numberintegerOptional

sorting order for group among all groups

guidstringOptional

if empty its generate random guid

keto_kindall ofOptional

the kind of keto looking for permissions

string · enumOptionalPossible values:
keto_permission_namestringOptional

name of keto permission, for now it POST, GET, PUT etc; Its may be anything in future

keto_scope_namestringOptional

the name of scope for permission, for now it endpoint group, ex: accounts, customers, payments; No longer than 64 characters

name_lang_keystringOptional

key for translation table, where find name of permission

name_sort_numberintegerOptional

sorting order for permission under the group

Responses
200
OK
application/json
400
json with error msg
application/json
post
POST /api/v1/permissions/keto HTTP/1.1
Host: [url_host]
Content-Type: application/json
Accept: */*
Content-Length: 231

{
  "default_group_name": "text",
  "default_name": "text",
  "group_lang_key": "text",
  "group_sort_number": 1,
  "guid": "text",
  "keto_kind": "branch",
  "keto_permission_name": "text",
  "keto_scope_name": "text",
  "name_lang_key": "text",
  "name_sort_number": 1
}
{
  "guid": "text"
}
GET /api/v1/permissions/keto HTTP/1.1
Host: [url_host]
Accept: */*
[
  {
    "created_at": "text",
    "default_group_name": "text",
    "default_name": "text",
    "group_lang_key": "text",
    "group_sort_number": 1,
    "guid": "text",
    "keto_kind": "branch",
    "keto_permission_name": "text",
    "keto_scope_name": "text",
    "name_lang_key": "text",
    "name_sort_number": 1,
    "updated_at": "text"
  }
]