Saltar a contenido

Administrar atributos

Un atributo, como el departamento o la oficina de un miembro, es un dato que las reglas pueden leer. Esta página muestra cómo defines un atributo, qué valores puede tener y cómo das un valor a miembros y grupos. Qué son los atributos está en Roles y acceso.

Definir, modificar y eliminar atributos puede hacerlo org-admin. Dar un valor puede hacerlo quien puede modificar al miembro o al grupo, como people-admin, si tiene ese valor él mismo; org-admin puede dar cualquier valor. Los atributos aún no tienen pantalla en OS: los administras mediante la API. Los ejemplos usan $OS, $TOKEN y $ORG como en Administrar grupos.

Definir un atributo

curl -s -X POST "$OS/api/v1/organisations/$ORG/attributes" \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    -d '{"name": "department", "allowed_values": ["sales", "finance"], "multiple": true}'

OS responde 201:

{"id": "atd_...", "name": "department", "allowed_values": ["sales", "finance"],
 "multiple": true, "version": 1, "allowed_actions": ["see", "use", "write", "delete"]}
  • name: letras, cifras y _ . : -, como máximo 64 caracteres. role, group, subject, os_toolbox, os_offered, os_element, os_audience, os_assistant, os_element_editor, os_project, os_project_chats, os_project_files, os_visitor, os_desk, os_consultant, os_editor_scope y os_kb los lee OS por sí mismo y no puedes definirlos.
  • allowed_values: los valores que puede tener el atributo. Si lo omites, cualquier valor es válido. Con una lista fija, OS rechaza también una regla que nombre otro valor, para que una errata no se quede sin efecto en silencio.
  • multiple: si un miembro o grupo puede tener más de un valor. Por defecto, uno.

Una organización define como máximo 16 atributos: los 32 que puede llevar un miembro, menos role, group, os_toolbox, os_offered, os_element, os_audience, os_assistant, os_element_editor, os_project, os_project_chats, os_project_files, os_visitor, os_desk, os_consultant, os_editor_scope y os_kb, que pone OS por sí mismo. Además, OS cuenta en conjunto cuántos atributos y etiquetas usan las reglas de tu organización y de cada organización de debajo: como máximo 32. OS rechaza con 409 un atributo nuevo que llevara a una organización por encima de eso.

Cambiar los valores permitidos

PUT .../attributes/department sustituye allowed_values y multiple enteros, con la versión que leíste en If-Match. OS rechaza con 409 si el cambio rompiera algo:

  • un miembro o grupo tiene un valor que ya no está en la lista: quítalo antes;
  • una regla nombra un valor que ya no está en la lista, en tu propia organización o en una de debajo: modifica antes esa regla;
  • desactivas multiple mientras alguien tiene más de un valor: quita antes esos valores.

Dar un valor

curl -s -X POST "$OS/api/v1/organisations/$ORG/attribute-values" \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    -d '{"attribute": "department", "value": "sales", "member_id": "mem_..."}'

Indica member_id para un miembro o group_id para un grupo; un valor de un grupo lo tiene todo miembro del grupo. La respuesta tiene un id como mat_... (en un miembro) o gat_... (en un grupo).

  • GET .../attribute-values?member_id=mem_... o ?group_id=grp_... muestra los valores que un miembro o grupo tiene por sí mismo, no los que recibe mediante grupos.
  • DELETE .../attribute-values/mat_... quita un valor.

Un miembro tiene como máximo 32 valores por atributo, cada uno de como máximo 256 caracteres.

Eliminar un atributo

DELETE .../attributes/department elimina el atributo y todos sus valores, en miembros, en grupos y en invitaciones pendientes. Si una regla aún lee el atributo, en tu propia organización o en una de debajo que no lo define ella misma, OS rechaza con 409; modifica antes esa regla.

Si OS rechaza

Respuesta Significado Qué haces
403 No puedes hacer esto, o das un valor que tú mismo no tienes; el mensaje indica entonces el atributo ("a value of department"). Pide a un administrador.
404 El atributo, el valor, el miembro o el grupo no existe, o no puedes verlo. Comprueba el nombre o el id.
409 El nombre ya está en uso, ya hay 16 atributos, el atributo se modificó desde que lo leíste, el valor ya se dio allí, el atributo solo admite un valor y ya existe, un miembro superaría el límite de 32, tu organización o una de debajo usaría más de 32 atributos y etiquetas, o un cambio o una eliminación rompería un valor o una regla. Lee el mensaje y limpia antes lo que menciona.
422 La solicitud no es correcta: un nombre que usa OS por sí mismo (role, group, subject, os_toolbox, os_offered, os_element, os_audience, os_assistant, os_element_editor, os_project, os_project_chats, os_project_files, os_visitor, os_desk, os_consultant, os_editor_scope, os_kb), un atributo desconocido, un valor que la lista no permite, o tanto member_id como group_id (o ninguno de los dos). Lee detail o errors en la respuesta.