Cuando empieces a configurar la plataforma, una de las primeras cosas que tendrás que configurar y gestionar es la creación de empresas y usuarios, que se puede hacer a través de la API. Esta guía proporciona información, instrucciones paso a paso y consejos para configurar y gestionar los estados de usuario de las empresas a través de nuestra API, utilizando los endpoints correctos.
¿Qué es la gestión de usuarios de la empresa?
Es el proceso sistemático de control, organización y supervisión de las actividades relacionadas con las cuentas de usuario dentro de una empresa. El objetivo de la gestión de usuarios es garantizar que los usuarios autorizados tengan un acceso adecuado a los recursos, manteniendo al mismo tiempo la seguridad y la integridad del sistema. La gestión de los estados de usuario es crucial para mantener la seguridad, el cumplimiento y la usabilidad dentro del backoffice, ya que ayuda a los administradores a controlar el acceso y aplicar las políticas de forma eficaz.
¿Qué son los estados de usuario?
Los estados de usuario se refieren a las distintas condiciones o estados que pueden ocupar los usuarios. Estos estados suelen representar diferentes fases o modos de interacción con el backoffice, cada uno con su propio conjunto de permisos, privilegios y funcionalidades. La gestión de los estados de usuario es crucial para mantener la seguridad, el cumplimiento y la usabilidad dentro del backoffice, ya que ayuda a los administradores a controlar el acceso y aplicar las políticas de forma eficaz.
Para gestionar mejor los estados de los usuarios, es necesario entender que un usuario sólo puede existir asociado a una empresa. Por eso hablamos de usuario de empresa, porque la única forma de que un usuario pueda ser creado es que pertenezca a una determinada empresa. En ese contexto, la creación de un primer usuario viene con la creación de la empresa durante el proceso de onboarding.
Existen 4 tipos diferentes de estados de usuario: creado, válido, habilitado y desactivado.
Creado
La creación de un primer usuario dentro de una empresa se realiza mediante el proceso de onboarding.
Este es el endpoint de Onboarding de la API que se debe utilizar para crear un nuevo primer usuario
Por ejemplo,
{
"company": {
"externalId": "COMPANY-123",
"tradeName": "Shopery",
"legalName": "Shopery Networks SL",
"registrationNumber": "75120534G",
"shortDescription": {
"en_GB": "B2B e-commerce",
"es_MX": "Comercio electrónico B2B",
"es_ES": "Comercio electrónico B2B"
},
"longDescription": {
"en_GB": "Some long description of B2B e-commerce",
"es_MX": "Una descripción larga de comercio electrónico B2B",
"es_ES": "Una descripción larga de comercio electrónico B2B"
},
"additionalInformation": {
"en_GB": "Digital sales and procurement solutions",
"es_MX": "Soluciones en ventas digitales y procurement",
"es_ES": "Soluciones en ventas digitales y procurement"
},
"addresses": {
"name": "My direction",
"firstLine": "Edificio Palau del Mar",
"secondLine": "nº 1",
"city": "Barcelona",
"region": "Barcelona",
"postalCode": "08039",
"country": "ES"
},
"contact": {
"phone": "+34123456789",
"email": "contact@example.com"
},
"logoId": "img_01FPVZTMZY7ET28VB5C296DSMT",
"backgroundImageId": "img_01FPW04Q4886FH2AKJSMF4TR13",
"website": "http://example.com",
"customFields": [
{
"reference": "foundation-year",
"value": "2005"
}
]
},
"user": {
"externalId": "jhn_d",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "john.doe@example.com",
"username": "john",
"password": "pass1234",
"activateLinkUrl": "http://example.com"
}
}
```
Por defecto, cuando se crea una nueva empresa, está en estado "habilitado", y el usuario ha sido creado. Esto significa que el usuario se ha añadido al sistema, pero su dirección de correo electrónico aún no se ha confirmado como válida. Los usuarios que permanecen en el estado creado durante 730 días y no validan su dirección de correo electrónico deben pasar al anonimato (más información al respecto en la sección "desactivados").
Para pasar al siguiente estado, es necesario validar la dirección de correo electrónico, siguiendo las instrucciones enviadas por correo electrónico.
Para crear nuevos usuarios dentro de una empresa creada:
- El usuario Global debe utilizar este endpoint
- El usuario Administrador de la empresa debe utilizar este endpoint
Por ejemplo,
{
"firstName": "John",
"lastName": "Doe",
"emailAddress": "john.doe@example.com",
"username": "john",
"roleIds": [
"rol_01FG8W4T7J621V8ZJNYRTM449M"
],
"passwordResetUrl": "https://example.com/reset-password"
}
Si un usuario quiere actualizar o editar la información de un usuario dentro de una empresa, debe utilizar :
- Si es un usuario Global este endpoint
- Si se trata de un usuario Administrador de la empresa este endpoint
Por ejemplo,
{
"externalId": "jhn_d",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "john.doe@example.com",
"language": "en_GB",
"roleIds": [
"rol_01FG8W5MNQNR47PBF8FJGX69J7"
],
"segmentId": "seg_01FSVYA3CC5BY7DT24TW2EXHJX",
"companyId": "com_01H4NEDA3WBPE00Z9NTKVG3FC0"
}
Activado
Un estado de usuario "activado" implica que los datos, la información, la configuración, las preferencias y las funciones están activados y operativos.
Una vez realizado correctamente el proceso de validación, se cumplen los criterios para que el usuario pase a estar activo, y el usuario se encuentra en estado activado, lo que significa que el usuario se gestiona y conserva activamente.
En este estado, los usuarios pueden realizar cualquier acción que les atribuyan sus roles finales asignados, como editar información, añadir nuevos usuarios, desactivar usuarios, cambiar roles o permisos de usuario, entre muchas otras.
Si un usuario necesita buscar usuarios y obtener su información, debe utilizar:
- Si se trata de un usuario global, este endpoint
- Si se trata de una función de administrador de empresa este endpoint
Por ejemplo,
{
"id": "usr_01FGBJJT54JQRE74088MZ07X89",
"externalId": "jhn_d",
"readableId": 105768,
"firstName": "John",
"lastName": "Doe",
"emailAddress": "john.doe@example.com",
"roles": [
"rol_01FGBJKMMRARJC3C67Q5JB2Z25"
],
"segmentId": "seg_01FSVY8G4Y2NXAGTFXZFXYWKHE"
}
Desactivado
Este estado de usuario implica que la gestión y conservación del estado de un usuario están desactivadas o deshabilitadas.
Para desactivar un usuario en el backoffice el usuario debe ir a Empresas -> Usuario asociado -> Hacer clic en el usuario -> Desactivar cuenta (en la parte inferior de la página).
Sólo los roles, como propietario o administrador de la empresa con permiso para desactivar usuarios pueden desactivarlos. Esto se hace directamente en el backoffice.
- El usuario global debe utilizar este endpoint de la API
- El administrador de la empresa debe utilizar este endpoint de la API
Un usuario con este tipo de permiso habilitado también puede desactivar su propio usuario, en este caso, se puede hacer directamente en el backoffice.
- El usuario global debe utilizar este endpoint de la API
- El administrador de la empresa debe utilizar este endpoint de la API
❗ Hay algunos casos especiales a tener en cuenta:
👉 Si se necesita desactivar un rol de "propietario" o "administrador de la empresa" con un amplio rango de permisos, primero este usuario tendrá que ceder sus roles y permisos a otro usuario de la empresa, para que haya un usuario capaz de gestionar y configurar este tipo de permisos. Después de hacer esto, este tipo de usuario es capaz de desactivarse a sí mismo.
👉 Una empresa no puede estar sin usuarios; como mínimo, tiene que haber un usuario creado, por lo que si hay un último usuario que quiere ser desactivado, el usuario debe desactivar la empresa en su lugar. No está permitido desactivar al último usuario de una empresa.
Cuando se desactiva a un usuario, hay un periodo de gracia de 30 días, en el cual los usuarios ya no pueden iniciar sesión y se les informa de su estado de desactivación.
Durante este periodo de gracia, existe la posibilidad de que el usuario sea revocado, lo que significa que el usuario pasa de un estado desactivado a un estado activado, y se restablecen toda la información, roles y permisos del usuario.
- El usuario Propietario debe utilizar este endpoint
- El usuario Administrador de la empresa debe utilizar este endpoint
En línea con los requisitos del Reglamento General de Protección de Datos (GDPR), cualquier información de identificación personal debe ser anonimizada si un usuario o empresa asociada es desactivada. Tras el periodo de gracia de 30 días, la cuenta de usuario desactivada se anonimiza, por lo que ya no se reconoce como usuario existente y toda la información o referencia a la persona se elimina de forma irreversible y no hay posibilidad de recuperar esta información.
Una persona también tiene el "derecho a ser olvidada", por lo que un usuario puede solicitarlo a nivel individual y el usuario puede ser desactivado primero y anonimizado después de 30 días.
Asimismo, los usuarios que permanezcan inactivos durante 700 días serán desactivados y, transcurridos 30 días, pasarán al anonimato, lo que garantiza su eliminación irreversible.
⛔ También existe la posibilidad de eliminar usuarios en condiciones especiales (un error al importar el usuario de la empresa, por ejemplo).
Esto se debe utilizar con extremo cuidado y advertencia porque una vez que el usuario se elimina es irreversible.Para eliminar usuarios con precaución Usuario propietario puede utilizar este punto final de la APIPara eliminar usuarios con precaución Usuario administrador de la empresa puede utilizar este punto final de la API .