# Suscripción de usuarios ## Consideraciones * Los usuarios (perfiles de Induxsoft) pueden relacionarse a espacios de trabajo, equipos y roles. * Si el usuario no tiene un perfil al momento de ser "invitado" a un espacio, equipo o rol; se le enviará automáticamente un correo electrónico solicitándosele que se registre (cree un perfil) en induxsoft.net * Si el usuario ya tiene un perfil (registrado en induxsoft.net), pero no pertenece al espacio de trabajo o algún equipo, se le enviará un correo electrónico invitándole a unirse al espacio de trabajo (confirmación o aceptación) * Si el usuario (ya tiene un perfil) y ya pertenece al espacio de trabajo (a algún equipo o rol), se suscribirá al equipo o rol que se indique sin invitación (es decir que no requiere que el usuario confirme o acepte explícitamente), solo será notificado del evento ## Inscripción Solicitud ``` Method: POST Content-Type: application/json;charset=utf-8 { "ids":"Identificador de sesión válida (token)", "operation":"register", "owner":"NIC de la organización, si se omite se asume al usuario como propietario (omitible)", "to":"Id del equipo de trabajo, equipo o rol al que se inscribirá al usuario", "user":"Correo electrónico, teléfono o id del usuario a inscribir" } ``` Respuesta exitosa ``` Content-Type: application/json;charset=utf-8 { "success":true, "data": { ... Datos informativos de la operación ... } } ``` ## Des-inscripción Solicitud ``` Method: POST Content-Type: application/json;charset=utf-8 { "ids":"Identificador de sesión válida (token)", "operation":"unregister", "owner":"NIC de la organización, si se omite se asume al usuario como propietario (omitible)", "from":"Id del equipo de trabajo, equipo o rol al que está inscrito el usuario", "user":"Correo electrónico, teléfono o id del usuario a desinscribir" } ``` Respuesta exitosa ``` Content-Type: application/json;charset=utf-8 { "success":true, "data": null } ``` ## Consulta de invitaciones pendientes Solicitud ``` Method: POST Content-Type: application/json;charset=utf-8 { "ids":"Identificador de sesión válida (token)", "operation":"pending_invitations", "target":"ID del espacio de trabajo u objeto al que se invitó al usuario", } ``` Respuesta exitosa ``` Content-Type: application/json;charset=utf-8 { "success": 1, "data": [{ "created": "Fecha y hora de creación de la invitación", "sended": "Fecha y hora de envío del correo de invitación", "id": "ID de la invitación", "email": "Correo del usuario invitado", "error": null (es null si no ocurrió ningún error, en caso contrario contiene una cadena con la descripción del error) }, ... ] } ``` ## Eliminar invitación La invitación puede eliminarse siempre que no haya sido aceptada, si el usuario ya aceptó deberá "desinscribirlo" con el servicio correspondiente. Solicitud ``` Method: POST Content-Type: application/json;charset=utf-8 { "ids":"Identificador de sesión válida (token)", "operation":"remove_invitation", "invitation":"ID del de la invitación a eliminar", } ``` Respuesta exitosa ``` Content-Type: application/json;charset=utf-8 { "success": 1, "data": null } ```