Table of Contents

Работа с группами

Продукты: МоиОтчеты Облако, МоиОтчеты Корпоративный Сервер, МоиОтчеты Публикатор

В этой статье рассмотрен процесс создания новой группы, добавление пользователя в группу и получение списка пользователей группы.

Приступая к работе

Вам понадобятся следующие инструменты и возможности:

  1. Знания по использованию API key в Сервисных решениях.

    В этой статье будет пропущена дополнительная информация по аутентификации и авторизации.

  2. Инструмент curl.

    Подойдёт любой другой REST клиент, но примеры будут построены для curl.

  3. Активная подписка на один из продуктов: МоиОтчеты Облако, МоиОтчеты Корпоративный Сервер или МоиОтчеты Публикатор, в которой есть два слота для пользователя.

  4. Доступ в интернет.

Замечание

Обратите внимание! Добавить пользователя в группу возможно только если пользователь существует в рабочем пространстве.

Обратите внимание! Добавить пользователя в группу возможно только по его идентификатору.

Инструкция

  1. Для создания новой группы необходим идентификатор рабочего пространства и название новой группы.

    Получите идентификатор рабочего пространства сделав GET запрос на {host_name}/api/manage/v1/Subscriptions?skip=0&take=10.

    Пример запроса.

    curl -X GET "{host_name}/api/manage/v1/Subscriptions?skip=0&take=10" -H "accept: text/plain"
    

    Пример ответа.

    {
      "subscriptions": [
        {
          "id": "5fa919fa292a8300019349bc",
          "name": "Awesome Corp",
          "current": {
            "startTime": "2020-11-17T10:22:58.584Z",
            "endTime": "2025-11-17T10:22:58.584Z",
            "plan": {
              "id": "5f43924b0231500001225686",
              "isActive": false,
              "displayName": "The greatest power",
              "timePeriodType": "Year",
              "timePeriod": 5,
              "readonlyTimeLimitType": "Second",
              "readonlyTimeLimit": 0,
              "templatesSpaceLimit": 1048576000,
              "reportsSpaceLimit": 1048576000,
              "exportsSpaceLimit": 1048576000,
              "fileUploadSizeLimit": 1048576000000,
              "dataSourceLimit": 10,
              "maxUsersCount": 10,
              "groupLimit": 5,
              "onlineDesigner": true,
              "isDemo": false,
              "urlToBuy": "https://быстрыеотчеты.рф",
              "unlimitedPage": true,
              "pageLimit": 15
            }
          },
          "old": [],
          "templatesFolder": {
            "folderId": "5fa919f9292a8300019349b9",
            "bytesUsed": 1668491
          },
          "reportsFolder": {
            "folderId": "5fa919f9292a8300019349ba",
            "bytesUsed": 6085990
          },
          "exportsFolder": {
            "folderId": "5fa919fa292a8300019349bb",
            "bytesUsed": 8336710
          }
        }
      ],
      "count": 1,
      "skip": 0,
      "take": 10
    }
    

    Идентификатор рабочего пространства (подписки) из примера выше 5fa919fa292a8300019349bc.

  2. Для создания новой группы сделайте POST запрос {host_name}/api/manage/v1/Groups, в тело запроса передайте JSON по схеме ниже.

    {
      "name": "string",
      "subscriptionId": "string id"
    }
    

    Пример запроса.

    curl -X POST "{host_name}/api/manage/v1/Groups" -H "accept: text/plain" -H "Content-Type: application/json-patch+json" -d "{ \"name\": \"Моя первая группа\", \"subscriptionId\": \"5fa919fa292a8300019349bc\"}"
    

    Пример ответа.

    {
      "id": "5fe5d7866882ca0001760fcb",
      "name": "Моя первая группа",
      "subscriptionId": "5fa919fa292a8300019349bc"
    }
    

    Идентификатор группы из примера выше 5fe5d7866882ca0001760fcb.

  3. Для добавления нового пользователя в группу сделайте PUT запрос на {host_name}/api/manage/v1/Groups/{groupId}/Users/{userId}, вместо {groupId} следует ввести идентификатор группы, а вместо {userId} следует ввести идентификатор пользователя.

    Пример запроса.

    curl -X PUT "{host_name}/api/manage/v1/Groups/5fe5d7866882ca0001760fcb/Users/5af5a8dc-8cb0-40f9-ac99-ca2533fa4492" -H "accept: text/plain"
    

    В ответе будет получено пустое сообщение с кодом OK 200.

  4. Для получения списка пользователей в группе сделайте GET запрос на {host_name}/api/manage/v1/Groups/{id}/Users?skip=0&take=10, где вместо {id} следует указать идентификатор группы.

    Пример запроса.

    curl -X GET "{host_name}/api/manage/v1/Groups/5fe5d7866882ca0001760fcb/Users?skip=0&take=10" -H "accept: text/plain"
    

    Пример ответа.

    {
      "users": [
        {
          "userId": "5af5a8dc-8cb0-40f9-ac99-ca2533fa4491",
          "userId": "5af5a8dc-8cb0-40f9-ac99-ca2533fa4492"
        }
      ],
      "count": 2,
      "take": 10,
      "skip": 0
    }
    

Что дальше?

Обратите внимание! В примерах может не быть заголовка Authorization потому что используется модель аутентификации, основанная на cookie. Подробнее про авторизацию читайте в разделе Аутентификация и авторизация