Добавление новых пользователей в рабочее пространство
В этой статье рассмотрен процесс добавления нового пользователя в рабочее пространство, получения списка пользователей в рабочем пространстве и удаление пользователя из рабочего пространства.
К каждому рабочему пространству всегда привязана подписка. Они имеют общий идентификатор.
Приступая к работе
Вам понадобятся следующие инструменты и возможности:
Знания по использованию API key в МоиОтчеты Облако.
В этой статье будет пропущена дополнительная информация по аутентификации и авторизации.
Инструмент curl.
Подойдёт любой другой REST клиент, но примеры будут построены для curl.
Активная подписка для МоиОтчеты Облако, в которой есть хотя бы два слота для пользователя.
Доступ в интернет.
Инструкция
Есть два способа добавить пользователя в рабочее пространство:
- Напрямую, указав id пользователя.
- С помощью системы приглашений.
Добавляем пользователя через приглашение
Для создания приглашения необходим идентификатор рабочего пространства.
Получите идентификатор рабочего пространства сделав
GET
запрос наhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions?skip=0&take=10
.Пример запроса.
curl -X GET "https://облако.моиотчеты.рф/api/manage/v1/Subscriptions?skip=0&take=10" -H "accept: text/plain"
Пример ответа.
{ "subscriptions": [ { "id": "604f52e1261a3c19104c0e25", "name": "iwantpizza", "locale": null, "current": { "startTime": "2021-03-15T12:28:17.773Z", "endTime": "2121-03-15T12:28:17.773Z", "plan": { "id": "5f89b4d722d2d823440b6d10", "isActive": false, "displayName": "unlimited", "timePeriodType": "Year", "timePeriod": 100, "readonlyTimeLimitType": "Second", "readonlyTimeLimit": 0, "templatesSpaceLimit": 1048576000, "reportsSpaceLimit": 1048576000, "exportsSpaceLimit": 1048576000, "fileUploadSizeLimit": 1073741824, "dataSourceLimit": 10, "maxUsersCount": 10, "groupLimit": 5, "onlineDesigner": true, "isDemo": false, "urlToBuy": "https://fastreport.ru", "unlimitedPage": true, "pageLimit": 0 } }, "old": null, "invites": null, "templatesFolder": { "folderId": "604f52e1261a3c19104c0e22", "bytesUsed": 241247 }, "reportsFolder": { "folderId": "604f52e1261a3c19104c0e23", "bytesUsed": 16384 }, "exportsFolder": { "folderId": "604f52e1261a3c19104c0e24", "bytesUsed": 8059419 } } ], "count": 1, "skip": 0, "take": 10 }
Идентификатор рабочего пространства (подписки) из примера выше
604f52e1261a3c19104c0e25
.Для создания приглашения выполните
POST
запрос наhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions/{subscriptionId}/invite
, где вместо{subscriptionId}
нужно будет указать идентификатор рабочего пространства.Указав в теле запроса свойства приглашения.
Пример тела.
{ "usages": 1, "durable": true, "expiredDate": "2021-03-25T11:53:29.351Z" }
usages
означает возможное количество использований,durable
установленный в true указывает, что количество использований не ограничено,expiredDate
указывает на срок окончания действия приглашение (свойствоdurable
не сделает приглашение вечно действующим).Если оставить тело пустым, создастся одноразовое приглашение, которое перестаёт работать на следующий день.
Пример запроса.
curl -X POST "https://облако.моиотчеты.рф/api/manage/v1/Subscriptions/604f52e1261a3c19104c0e25/invite" -H "accept: text/plain" -H "Content-Type: application/json-patch+json" -d "{ \"usages\": 1, \"durable\": true, \"expiredDate\": \"2021-03-25T11:53:29.351Z\"}"
Пример ответа.
{ "id": "604f52e1261a3c19104c0e25", "name": "iwantpizza", "locale": null, "current": { "startTime": "2021-03-15T12:28:17.773Z", "endTime": "2121-03-15T12:28:17.773Z", "plan": { "id": "5f89b4d722d2d823440b6d10", "isActive": false, "displayName": "unlimited", "timePeriodType": "Year", "timePeriod": 100, "readonlyTimeLimitType": "Second", "readonlyTimeLimit": 0, "templatesSpaceLimit": 1048576000, "reportsSpaceLimit": 1048576000, "exportsSpaceLimit": 1048576000, "fileUploadSizeLimit": 1073741824, "dataSourceLimit": 10, "maxUsersCount": 10, "groupLimit": 5, "onlineDesigner": true, "isDemo": false, "urlToBuy": "https://быстрыеотчеты.рф", "unlimitedPage": true, "pageLimit": 0 } }, "old": null, "invites": [ { "usages": 1, "durable": true, "accessToken": "fj3534g341ir7dyytfiaap9z1r", "expiredDate": "2021-03-25T11:53:29.351Z", "addedUsers": [], "creatorUserId": "2df79f83-07f1-41ba-96b5-7757bbf377df" } ], "templatesFolder": { "folderId": "604f52e1261a3c19104c0e22", "bytesUsed": 241247 }, "reportsFolder": { "folderId": "604f52e1261a3c19104c0e23", "bytesUsed": 16384 }, "exportsFolder": { "folderId": "604f52e1261a3c19104c0e24", "bytesUsed": 8059419 } }
В подписке появилось приглашение с токеном доступа
fj3534g341ir7dyytfiaap9z1r
.Нужно передать ссылку на принятие приглашения (или сам токен доступа) пользователю, которого вы хотите пригласить (любым удобным для вас способом). Итоговая ссылка будет выглядеть так -
https://облако.моиотчеты.рф/api/manage/v1/Subscriptions/{subscriptionId}/invite/{accessToken}/accept
, где вместо{subscriptionId}
нужно будет указать идентификатор рабочего пространства, а вместо{accessToken}
- токен доступа.Теперь приглашаемый пользователь может перейти по этой ссылке прямо в браузере или же отправить
GET
запрос наhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions/{subscriptionId}/invite/{accessToken}/accept
, где вместо{subscriptionId}
нужно будет указать идентификатор рабочего пространства, а вместо{accessToken}
- токен доступа.Пример запроса.
curl -X GET "https://облако.моиотчеты.рф/api/manage/v1/Subscriptions/6051f2a06c07a10001737394/invite/to9kxrxdz4iwbfyz3pq4fktdcr/accept" -H "accept: text/plain"
Удаление приглашения
Когда у приглашения заканчиваются использования, или срок его действия подходит к концу, оно не удаляется автоматически. Нужно будет сделать это вручную, отправив
DELETE
запрос наhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions/{subscriptionId}/invite/{accessToken}
Пример запроса.curl -X DELETE "https://облако.моиотчеты.рф/api/manage/v1/Subscriptions/6051f2a06c07a10001737394/invite/to9kxrxdz4iwbfyz3pq4fktdcr" -H "accept: text/plain"
В ответ будет получено пустое сообщение с кодом
NO CONTENT 204
.
Добавляем пользователя напрямую
Для добавления нового пользователя в рабочее пространство необходим идентификатор рабочего пространства.
Получите идентификатор подписки сделав
GET
запрос наhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions?skip=0&take=10
.Пример запроса.
curl -X GET "https://облако.моиотчеты.рф/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://fastreport.ru", "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
.Для добавления нового пользователя сделайте
PUT
запросhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions/{subscriptionId}/users/{userId}
, где вместо{subscriptionId}
следует передать идентификатор рабочего пространства, а вместо{userId}
следует передать идентификатор пользователя.Пример запроса.
curl -X PUT "https://облако.моиотчеты.рф/api/manage/v1/Subscriptions/5fa919fa292a8300019349bc/users/5af5a8dc-8cb0-40f9-ac99-ca2533fa4492" -H "accept: text/plain"
В ответ вы получите пустое сообщение со статус кодом
OK 200
.Для получения списка пользователей сделайте
GET
запрос наhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions/{id}/users?skip=0&take=10
, где место{id}
следует указать идентификатор рабочего пространства.Пример запроса.
curl -X GET "https://облако.моиотчеты.рф/api/manage/v1/Subscriptions/5fa919fa292a8300019349bc/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 }
Для удаления пользователя из рабочего пространства сделайте
DELETE
запрос наhttps://облако.моиотчеты.рф/api/manage/v1/Subscriptions/{subscriptionId}/users/{userId}
, где вместо{subscriptionId}
следует передать идентификатор рабочего пространства, а вместо{userId}
следует передать идентификатор пользователя.Пример запроса.
curl -X DELETE "https://облако.моиотчеты.рф/api/manage/v1/Subscriptions/5fa919fa292a8300019349bc/users/5af5a8dc-8cb0-40f9-ac99-ca2533fa4492" -H "accept: text/plain"
В ответ будет получено пустое сообщение с кодом
OK 200
.