Группы пользователей#

Группы в Blitz Identity Provider описываются идентификатором группы, а также атрибутами группы, которые определяются настройками.

Получение атрибутов группы по id#

Метод

GET https://login.company.com/blitz/api/v3/groups/{id}

Получение атрибутов группы, если известен id группы.

Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.

Пример

GET /blitz/api/v3/groups/test HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Cache-Control: no-cache
200OK

{
   "instanceId": "b3Jnc...2M",
   "OGRN": "12345678901112",
   "id": "test",
   "profile": "orgs",
   "members": [
      "uid=test@m.ru,ou=company,ou=sub,dc=company,dc=loc",
      "uid=test2@m.ru,ou=company,ou=sub,dc=company,dc=loc"
  ]
}
Группа не существует#
404 NotFound

Поиск группы во всех профилях#

Метод

GET https://login.company.com/blitz/api/v3/groups/search? rql={OptionalString}&expand={OptionalBoolean}

Поиск группы по атрибутам во всех профилях.

Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.

URL-параметры
  • rql – поисковый запрос по атрибутам группы в формате Resource Query Language (RQL).

    Операции:

    • and – одновременное выполнение поисковых условий;

    • or – альтернативное выполнение поисковых условий (например, поиск по разным атрибутам);

    • eq – проверка условия равенства;

    • limit – ограничение числа возвращаемых записей.

  • expand (необязательный параметр):

    • true: включать в полученный ответ атрибуты групп;

    • false: вернуть только идентификаторы найденных групп.

Возвращает

JSON, содержащий группу с указанием ее идентификатора (id), а также значения остальных атрибутов группы (в случае expand=true).

Пример

Поиск группы по id#
GET /blitz/api/v3/groups/search/?rql=eq(id,test)&expand=true HTTP/1.1
Authorization: Bearer eyJra...fQ
Cache-Control: no-cache
Поиск группы по ОГРН и ИНН#
GET /blitz/api/v3/groups/search/?rql=or(eq(OGRN,string:1230123456789),eq(INN,string:7743151614))&expand=true HTTP/1.1
Authorization: Bearer cNwIXa...0Nz
Cache-Control: no-cache
Поиск группы по id#
200ОК

[
   {
      "distinguishedName": "CN=test,DC=bip,DC=loc",
      "id": "test",
      "instanceId": "b3Jnc...Yw",
      "profile": "orgs"

   }
]
Поиск группы по ОГРН и ИНН#
200OK

[
   {
      "instanceId": "Mzg5L…nU",
      "id": "14339e8e-a665-4556-92f1-5c348eff6696",
      "OGRN": "1234567890329",
      "INN": "7743151614",
      "name": "ООО Тестовая компания",
      "profile": "orgs"
   }
]

Поиск группы в рамках одного профиля#

Метод

GET https://login.company.com/blitz/api/v3/groups/{profile}/search? rql={OptionalString}&expand={OptionalBoolean}

Поиск группы по атрибутам в рамках одного профиля.

Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.

URL-параметры
  • profile – имя профиля групп пользователей.

  • rql – поисковый запрос в рамках профиля по атрибутам группы в формате Resource Query Language (RQL).

    Операции:

    • and – одновременное выполнение поисковых условий;

    • or – альтернативное выполнение поисковых условий (например, поиск по разным атрибутам);

    • eq – проверка условия равенства;

    • limit – ограничение числа возвращаемых записей.

  • expand (необязательный параметр):

    • true: включать в полученный ответ атрибуты групп;

    • false: вернуть только идентификаторы найденных групп.

Возвращает

JSON, содержащий группу с указанием ее идентификатора (id), а также значения остальных атрибутов группы (в случае expand=true).

Пример

Поиск группы по атрибуту в рамках профиля#
GET /blitz/api/v3/groups/orgs/search?rql=eq(id,test)&expand=true HTTP/1.1
Authorization: Bearer eyJra...fQ
Cache-Control: no-cache
200ОК

[
   {
      "distinguishedName": "CN=test,DC=bip,DC=loc",
      "id": "test",
      "instanceId": "b3Jnc...Yw",
      "profile": "orgs"

   }
]

Создание группы#

Метод

PUT https://login.company.com/blitz/api/v3/groups/{profile}/{id}

Создание группы пользователей.

Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.

URL-параметры
  • profile – имя профиля групп пользователей;

  • id – уникальный идентификатор группы;

Примечание

Значение profile также можно передать в теле запроса.

Тело запроса

Атрибуты группы и их значения, а также имя профиля profile, если оно не было указано в URL.

Пример

PUT /blitz/api/v3/groups/orgs/test2 HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Content-Type: application/json

{
    "OGRN":"12345678901112"
}
200OK

{
   "OGRN": "12345678901112",
   "id": "test2",
   "instanceId": "b3Jnc...2M",
   "profile": "orgs"
}
Группа существует#
404 BadRequest

Изменение атрибутов группы#

Метод

POST https://login.company.com/blitz/api/v3/groups/{profile}/{id}

Изменение атрибутов группы.

Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.

URL-параметры
  • profile – имя профиля групп;

  • id – идентификатор группы.

Тело запроса

Атрибуты группы и их значения.

Пример

POST /blitz/api/v3/groups/orgs/test2 HTTP/1.1
Authorization: Bearer cN...MDc0Nz
Content-Type: application/json

{
   "OGRN": "98765432103213"
}
200OK

{
   "instanceId": "b3Jnczpjbj10ZXN0MixvdT1Hcm91cHMsZGM9cmVheG9mdCxkYz1sb2M",
   "OGRN": "98765432103213",
   "id": "test2",
   "profile": "orgs"
}
Организация не существует#
404 NotFound

{
   "type": "process_error",
   "error": "group_not_found",
   "desc": "Group test2 not found"
}

Удаление группы#

Метод

DELETE https://login.company.com/blitz/api/v3/groups/{profile}/{id}

Удаление группы.

Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.

URL-параметры
  • profile – имя профиля групп;

  • id – идентификатор группы.

Пример

DELETE /blitz/api/v3/groups/orgs/test2 HTTP/1.1
Authorization: Bearer cNw...Dc0Nz
204 NoContent
Группа не существует#
404 NotFound

Получение списка пользователей группы#

Метод

GET https://login.company.com/blitz/api/v3/groups/{profile}/{id}/members? rql={OptionalString}&expand={OptionalBoolean}

Получение списка пользователей из группы.

Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.

URL-параметры
  • profile – имя профиля групп пользователей;

  • id – уникальный идентификатор группы;

  • rql – поисковый запрос по атрибутам пользователей в формате Resource Query Language (RQL).

    Операции:

    • and – одновременное выполнение поисковых условий;

    • or – альтернативное выполнение поисковых условий (например, поиск по разным атрибутам);

    • eq – проверка условия равенства;

    • limit – ограничение числа возвращаемых записей.

  • expand (необязательный параметр):

    • true: включать в полученный ответ ФИО пользователя;

    • false: вернуть только идентификаторы пользователей.

Пример

Получение пользователей в группе#
GET /blitz/api/v3/groups/orgs/test2/members HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Cache-Control: no-cache
200OK

[
   {USER1},
   {USER2}
]
Группа не существует#
404 NotFound

Добавление пользователя в группу#

Метод

PUT https://login.company.com/blitz/api/v3/groups/{profile}/{id}/ members/{subjectId}

Добавление пользователя в группу.

Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.

URL-параметры
  • profile – имя профиля групп пользователей;

  • id – уникальный идентификатор группы;

  • subjectId – уникальный идентификатор пользователя.

Пример

PUT /blitz/api/v3/groups/orgs/test2/members/test@m.ru HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Content-Type: application/json
204 NoContent
Группы не существует#
404 NotFound
Попытка добавить пользователя, который уже есть в группе#
400 BadRequest

Удаление пользователя#

Метод

DELETE https://login.company.com/blitz/api/v3/groups/{profile}/{id}/ members/{subjectId}

Удаление пользователя из группы.

Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.

URL-параметры
  • profile – имя профиля групп пользователей;

  • id – уникальный идентификатор группы;

  • subjectId – уникальный идентификатор пользователя.

Пример

DELETE /blitz/api/v3/groups/orgs/test2/members/test@m.ru HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Content-Type: application/json
204 NoContent
Попытка удалить из группы пользователя, которого в ней уже нет#
400 BadRequest
Группы не существует#
404 NotFound

Изменение списка пользователей группы#

Метод

POST https://login.company.com/blitz/api/v3/groups/{profile}/{id}/members

Изменение списка пользователей группы.

Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.

URL-параметры
  • profile – имя профиля групп пользователей;

  • id – уникальный идентификатор группы.

Тело запроса
  • add – список идентификаторов добавляемых пользователей;

  • remove – список идентификаторов удаляемых пользователей.

Пример

POST /blitz/api/v3/groups/orgs/test/members HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Content-Type: application/json

{
    "add": [
        "test3@m.ru"
    ],
    "remove": [
        "test2@m.ru"
    ]
}
204 NoContent
Группы не существует#
404 NotFound
Попытка удалить из группы пользователя, которого в ней уже нет#
400 BadRequest
Попытка добавить пользователя в группу, который в ней уже есть#
400 BadRequest

Список групп пользователя во всех профилях#

Метод

GET https://login.company.com/blitz/api/v3/users/{subjectId}/ grps?expand={OptionalBoolean}

Получение списка групп пользователя во всех профилях.

Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.

URL-параметры
  • subjectId – идентификатор пользователя, группы которого нужно получить.

  • expand (необязательный параметр):

    • true: включать в полученный ответ дополнительные параметры;

    • false: вернуть только идентификаторы групп.

Пример

POST /blitz/api/v3/users/test@m.ru/grps?expand=true HTTP/1.1
Authorization: Bearer cN...Dc0Nz
200 OK

[
    {
        "instanceId": "b3Jnc...2M",
        "OGRN": "12345678901112",
        "id": "test",
        "profile": "orgs",
        "members": [
            "uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc",
            "uid=test2@m.ru,ou= test,ou=sub,dc=company,dc=loc"
        ]
    },
    {
        "instanceId": "b3Jnc...Yw",
        "desc": "test",
        "NAME": "test",
        "OGRN": "test",
        "id": "test",
        "profile": "orgs",
        "INN": "test",
        "members": [
            "uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc"
        ]
    }
]
Пользователь не существует#
404 NotFound

Список групп пользователя в рамках профиля#

Метод

GET https://login.company.com/blitz/api/v3/users/{subjectId}/grps/{profile}? expand={OptionalBoolean}

Получение списка групп пользователя в рамках профиля.

Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.

URL-параметры
  • profile – имя профиля групп пользователей;

  • subjectId – идентификатор пользователя, группы которого нужно получить.

  • expand (необязательный параметр):

    • true: включать в полученный ответ дополнительные параметры;

    • false: вернуть только идентификаторы групп.

Пример

POST /blitz/api/v3/users/test@m.ru/grps/orgs?expand=true HTTP/1.1
Authorization: Bearer cN...Dc0Nz
200 OK

[
    {
        "instanceId": "b3Jnc...2M",
        "OGRN": "12345678901112",
        "id": "test",
        "profile": "orgs",
        "members": [
            "uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc",
            "uid=test2@m.ru,ou=test,ou=sub,dc=company,dc=loc"
        ]
    },
    {
        "instanceId": "b3Jnc...Yw",
        "desc": "test",
        "NAME": "test",
        "OGRN": "test",
        "id": "test",
        "profile": "orgs",
        "INN": "test",
        "members": [
            "uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc"
        ]
    }
]
Пользователь не существует#
404 NotFound