Saltar al contenido principal

Miembros y permisos

La pantalla Miembros responde "quién accede a la cuenta y qué puede hacer cada uno". Cada miembro tiene uno o más roles; cada role es un conjunto de permisos del catálogo del producto.

Miembros

Invitar a alguien​

Solo los administradores invitan a nuevos miembros. La invitación lleva el email, el nombre (opcional) y el role inicial (Operador, por defecto) y expira en 7 días. Al aceptar, la persona obtiene la cuenta ya con el role definido. Si el email ya pertenece a un usuario de la cuenta, o ya existe una invitación pendiente, el sistema la rechaza (USER_EXISTS / INVITATION_EXISTS).

:::tip El mismo email puede participar en varias organizaciones Invitar a alguien que ya usa Dunning en otra organización funciona con normalidad: al aceptar, la persona obtiene un acceso separado en tu cuenta (roles y permisos propios, sin mezclar nada entre organizaciones). Al iniciar sesión, quien participa en más de una organización elige a cuál entrar y puede cambiar en cualquier momento con el selector en la parte superior de la pantalla, sin cerrar sesión. :::

:::note Requiere un proveedor de correo (SMTP) configurado El envío de la invitación por correo depende de un proveedor de correo transaccional (SMTP) provisionado en el ambiente. Mientras no esté configurado, la invitación se crea, pero el correo no se envía — el enlace debe llegar al invitado por otro medio. :::

Roles de sistema​

Cinco roles listos cubren la mayoría de las operaciones:

RoleQué puede
PropietarioAcceso total (*), incluso a los permisos que el producto gane después. Quien crea la cuenta nace propietario; solo un propietario vuelve propietaria a otra persona.
AdministradorAdministración completa de la cuenta — todos los permisos del catálogo, excepto borrar workspaces (workspaces.delete), que queda con el propietario.
GestorGestión completa de la operación, sin administración de la cuenta (miembros, roles, claves de API, integraciones).
OperadorEl día a día: clientes, cobros, tareas, acuerdos y disputas (lectura general + escritura operativa).
VisualizadorSolo lectura en todos los recursos.

Los roles de sistema son inmutables (SYSTEM_ROLE_IMMUTABLE): cuando el producto gana permisos nuevos, pasan a valer automáticamente para esos roles, sin que necesites reconfigurar nada.

Roles personalizados​

Además de los cinco de sistema, puedes crear roles propios (vía POST /v1/team-roles) eligiendo cualquier combinación de permisos del catálogo. Los permisos desconocidos son rechazados; los nombres duplicados también (DUPLICATE). Nadie crea ni edita un role con permisos que no tiene — el intento responde 403 con la lista de lo que falta (beyondCeiling). Un role personalizado en uso no puede ser eliminado (ROLE_IN_USE).

El catálogo de permisos​

Todo permiso sigue el formato <recurso>.<acción> — el recurso en kebab-case cuando es compuesto (collection-rules.activate) —, con soporte de comodín: * (todo) o <recurso>.* (todas las acciones de un recurso del catálogo). La lectura es siempre list, show o download. Recursos y acciones reales:

RecursoAcciones
dashboardshow
peoplelist, show, create, update, delete
chargeslist, show, create, update, delete, notify
collection-ruleslist, show, create, update, delete, activate
classificationslist, show, create, update, delete
templateslist, show, create, update, delete, duplicate
notificationslist, show, create, update, resend, delete
taskslist, show, create, update, delete, complete
interactionslist, show, create, update, delete
agreementslist, show, create, update, cancel
disputeslist, show, create, resolve
negativationslist, show, create, approve, cancel
protestslist, show, create, approve, cancel
portalgenerate-link, revoke-link
companieslist, manage
memberslist, show, invite, update, suspend, remove
roleslist, show, create, update, delete, assign
auditlist, show
api-keyslist, create, revoke
integrationslist, manage
webhookslist, show, create, update, delete
email-layoutslist, show, create, update, delete
importslist, show, create
exportscreate
settingsshow, update
workspaceslist, create, update, delete
notification-channelsshow, update
notification-preferencesshow, update

El mismo catálogo alimenta los permisos de las claves de API — que no son los scopes del token de la API, un vocabulario separado y más grueso (ver Autenticación).

Asignar roles y desactivar miembros​

En la tabla de miembros (nombre, roles, último acceso, estado Activo/Inactivo), el ícono de edición abre el selector de roles. El cambio rige de inmediato y cierra la sesión actual del miembro — tiene que entrar de nuevo, ya con los permisos nuevos. Desactivar a un miembro corta el acceso al instante, sin borrar su historial en la auditoría.

Protecciones contra errores costosos​

  • LAST_OWNER: el sistema se niega a quitarle el role de propietario al último propietario activo, o a desactivarlo (nadie deja su propia cuenta cerrada por fuera).
  • Techo de permisos: nadie concede — por role, por permiso directo o por invitación — más de lo que tiene. Un comodín solo lo concede quien tiene un comodín igual de amplio; por eso solo el propietario concede el role de propietario.
  • SELF_DEACTIVATION: no puedes desactivar tu propia cuenta.
  • SELF_ROLE_CHANGE: los no administradores no alteran su propio role.

Todo cambio de miembro y role queda registrado en la auditoría.