Carrot quest имеет механизм контроля прав доступа. Каждый токен авторизации обладает несколькими ролями (permission scopes), которые определяют, к каким данным методам обратиться, используя этот токен.
На данный момент в открытом API используются роли:
| Название | Описание | Методы |
|---|---|---|
app-basic-read |
Базовые права на чтение (чтение настроек, сегментов, шаблонов, сохраненных ответов и т.д.) | |
app-basic-write |
Право записи базовых настроек | |
as-user |
Действие от имени пользователя на сайте POST /conversations/{id}/reply POST /conversations/{id}/markread POST /conversations/{id}/settyping |
|
conversations-read |
Диалоги, только чтение | |
conversations-write |
Диалоги, полный доступ (ответы, добавление тегов, назначения и т.д.) | |
messages-manual-send-one |
Отправка ручного сообщения нескольким пользователям или сегменту | |
user-read |
Информация о пользователе, только чтение | |
user-write |
Информация о пользователе, редактирование | |
users-list-active |
Список активных пользователей (страница LIVE) |
| Метод | URL | Scope |
|---|---|---|
| GET | /apps/{id}/activeusers | Получить онлайн-пользователей на сайте |
| GET | /apps/{id}/conversations | Получить диалоги приложения |
| GET | /conversations/{id} | Получить конкретный диалог |
| GET | /conversations/{id}/parts | Получить части (сообщения) диалога |
| POST | /conversations/{id}/reply | Ответить в диалоге |
| POST | /conversations/{id}/markread | Отметить диалог прочитанным (со стороны пользователя на сайте) |
| POST | /conversations/{id}/settyping | Кто-то печатает ... |
| POST | /conversations/{id}/assign | Назначить диалог администратору |
| POST | /conversations/{id}/tag | Добавить тег диалога |
| DELETE | /conversations/{id}/tag | Удалить тег диалога |
| POST | /conversations/{id}/close | Закрыть диалог |
| GET | /users/{id} | Получить данные о пользователе |
| GET | /users/{id}/conversations | Получить диалоги с пользователем |
| POST | /users/{id}/events | Записать событие |
| POST | /users/{id}/props | Установить свойства пользователя |
| POST | /users/{id}/setpresence | Отправить heartbeat сигнал |
| POST | /users/{id}/sendmessage | Отправить ручное сообщение пользователю |
| POST | /users/{id}/startconversation | Создать диалог, начатый пользователем на сайте |