Команды
Команды позволяют нескольким разработчикам совместно владеть набором приложений. Как в Discord: те же четыре роли, та же односторонняя модель передачи, плюс список тестировщиков, который обходит проверку публичности для приложений в разработке.
Роли
| Роль | Редактирование приложения | Управление командой | Удаление приложения |
|---|---|---|---|
| Владелец | Да | Да (вкл. передачу владения) | Да |
| Админ | Да | Да (участники, тестировщики) | Нет |
| Разработчик | Да | Нет | Нет |
| Только чтение | Нет | Нет | Нет |
Действующая роль в приложении = роль участника команды, если только запрашивающий не является также личным владельцем (источником передачи); в этом случае действует доступ уровня Владельца.
Приглашения
- Админ или выше отправляет приглашение по электронной почте существующему пользователю GameVox.
- Приглашённый видит ожидающее приглашение на главной странице портала и принимает или отклоняет его.
- Приглашение можно отозвать в любой момент до принятия.
- Чтобы отправить повторно: отзовите и пригласите заново. (Отдельной кнопки «отправить повторно» нет.)
Передача приложения
Личные приложения можно передать в команду, где вы Владелец или Админ. В диалоге передачи нужно ввести название приложения для подтверждения. После передачи:
- Строка приложения принадлежит команде.
owner_user_idочищается;owner_team_idустанавливается. - Все существующие токены (токены ботов, секреты клиента, токены вебхуков) остаются действительными: передача их не меняет.
- Префиксы хранения значка и обложки приложения не меняются: ресурсы продолжают работать без повторной загрузки.
- Передача односторонняя (как в Discord). Чтобы «отменить передачу», создайте новое личное приложение и перенесите данные вручную.
Значки команд
Загружаются на вкладке «Общие» команды. Тот же виджет загрузки изображений, что и для значков приложений, но с отдельным префиксом S3 (team-icons/{team_id}/). Показывается в списке команд, в шапке страницы команды и небольшим значком поверх карточек приложений этой команды.
Тестировщики приложения
Список тестировщиков ведётся для каждого приложения (а не для команды), так что у каждого приложения команды свой список. Тестировщики могут установить закрытое приложение (переключатель публичности выключен) по обычному URL установки OAuth; все, кого нет в списке, видят страницу «не найдено».
- 100 тестировщиков на приложение.
- Приглашения отправляются по ID пользователя GameVox или по электронной почте. Приглашение самого себя принимается автоматически (вам уже доверяют).
- Тестировщики не получают доступа к странице приложения в портале: у них есть только право на установку.
- Удаление тестировщика не отзывает токены, которые он уже получил через OAuth; их нужно отозвать отдельно.
Эндпоинты (портал)
GET /developer-portal/teams
POST /developer-portal/teams
GET /developer-portal/teams/{id}
PATCH /developer-portal/teams/{id}
DELETE /developer-portal/teams/{id}
GET /developer-portal/teams/{id}/members
POST /developer-portal/teams/{id}/members {email, role}
PATCH /developer-portal/teams/{id}/members/{user_id} {role}
DELETE /developer-portal/teams/{id}/members/{user_id}
POST /developer-portal/applications/{id}/transfer {team_id, app_name}
GET /developer-portal/applications/{id}/testers
POST /developer-portal/applications/{id}/testers {email|user_id}
DELETE /developer-portal/applications/{id}/testers/{user_id}