Equipos
Los equipos permiten que varias personas desarrolladoras compartan la propiedad de un conjunto de aplicaciones. Paridad con Discord: los mismos cuatro roles, el mismo modelo de transferencia en un solo sentido, más una lista de testers que se salta la barrera público/privado para apps en desarrollo.
Roles
| Rol | Puede editar la app | Puede gestionar el equipo | Puede eliminar la app |
|---|---|---|---|
| Propietario | Sí | Sí (incl. transferir la propiedad) | Sí |
| Admin | Sí | Sí (miembros, testers) | No |
| Desarrollador | Sí | No | No |
| Solo lectura | No | No | No |
El rol efectivo sobre una app es el rol en el equipo, salvo que quien la solicita sea además su propietario personal (origen de la transferencia), en cuyo caso se aplica acceso de nivel Propietario.
Invitaciones
- Alguien con rol Admin o superior envía una invitación por correo a una persona con cuenta de GameVox.
- Quien recibe la invitación la ve pendiente en la portada de su portal y la acepta o la rechaza.
- Las invitaciones se pueden retirar en cualquier momento antes de aceptarse.
- Para reenviarla: retírala y vuelve a invitar. (No hay un botón específico de «reenviar».)
Transferencia de aplicaciones
Las apps personales se pueden transferir a un equipo del que seas propietario o admin. El diálogo de transferencia exige escribir el nombre de la app para confirmar. Tras la transferencia:
- El equipo pasa a ser propietario del registro de la app.
owner_user_idse vacía;owner_team_idse establece. - Todos los tokens existentes (tokens de bot, secretos de cliente, tokens de webhook) siguen siendo válidos: la transferencia no los rota.
- Los prefijos de almacenamiento del icono y la portada no cambian: los recursos siguen funcionando sin volver a subirlos.
- La transferencia es en un solo sentido (igual que en Discord). Para «deshacerla», crea una nueva app personal y migra los datos a mano.
Iconos de equipo
Se suben desde la pestaña General del equipo. El mismo widget de subida que los iconos de app, con un prefijo de S3 propio (team-icons/{team_id}/). Aparece en la lista de equipos, en la cabecera del detalle del equipo y como pequeña superposición en las tarjetas de apps de ese equipo.
Testers de la app
La lista de testers es por aplicación (no por equipo), así que cada app de un equipo tiene la suya. Los testers pueden instalar una app privada (con el interruptor público desactivado) usando la URL de instalación OAuth normal; quien no esté en la lista obtiene una página de no encontrado.
- 100 testers por aplicación.
- Se invita por id de usuario de GameVox o por correo. Si te invitas a ti, se acepta automáticamente (ya cuentas con la confianza).
- Los testers no obtienen ningún acceso a la página de la aplicación en el portal: solo permiso para instalarla.
- Quitar a un tester no revoca los tokens que ya haya obtenido por OAuth; revócalos aparte.
Endpoints (portal)
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}