Estamos publicando la v3.0.10 de arai-usuarios que corrige este bug en la API. Aun no está en EEI, pero si lo necesitan con urgencia pueden actualizar el tag en su instalación de arai-usuarios.
Al querer hacer el post con estos datos:
{
“nombre”: “Hector Luis”,
“apellido”: “Luque”,
“email”: “hluque@unne.edu.ar”,
“identificador”: “374263668”,
“persona”: 0,
“password”: “toba123*-a”,
“atributos” :{“numeroDocumento”: “37426368”}
}
nos sale un error:
“error”: 400,
“mensaje”: “400 Bad Request”,
“descripcion”: “Error en la validación del recurso”,
“detalle”: {
“campos_no_permitidos”: [
“Se encontraron campos no permitidos: atributos.”
],
}
}
Sergio los end points que nos interesan son los GET, POST, PUT para usuarios, y el DELETE para cuentas delos usuarios
El mensaje de error es correcto, los Endpoints de la API v2 no tienen la misma definicion que aquellos de la API v1 (por ello el cambio de version).
Te dejo un link a la documentacion de la API, fijate que los atributos se agregan como una modificacion de un usuario particular y luego se manejan como un subrecurso de un usuario en particular.
Buenas Ricardo, estuve viendo la doc de la API.
Y necesitariamos que para realizar un post de un usuario se pasen tbm los atributos, este seria el ejemplo para la API V1
Nos interesa mas el atriubto “numeroDocumento”, ya que sudocu tiene una funcionalidad de crear por defecto a usuarios que no esten en su base de datos con un perfil visitante, y no nos permite ya que es un dato necesario para éste y en arai usuarios (el esta EEI )no se puede realizar el post con el con éste campo atributo/numeroDocumento .
ahi estuve mirando y note que hay un error en la publicacion de la documentacion de la API, no solo eso… sino que lo que te puse en el post anterior tambien estaba parcialmente equivocado a causa de ello, disculpame por la mala informacion.
El endpoint /vX/usuarios unicamente sirve para dar de alta o modificar el usuario, todo el manejo de atributos se realiza via el endpoint vX/usuarios/IDUsuario/atributos.
En ese segundo endpoint podes enviar el JSON correspondiente a los atributos.
Esto es entonces asi, para lograr lo que queres necesitas:
POST /v1/usuarios
PUT /v1/usuarios/IDOBTENIDOARRIBA/atributos
Es como se creo la API originalmente, acabo de verificarlo tanto por Swagger como en codigo… el problema esta en la documentacion en la cual se incorporo por error un modelo que no pertenece alli.
Buenas Sergio, estube probando descargar la version que mencionas, la V3.0.10, pero tengo problemas, esto para probar lo del endpoint del delete de cuentas de los usuarios.
Te dejo la salida.
root@sudocu-dev:/usr/local/siu/expedientes/prod/arai# docker pull hub.siu.edu.ar:5005/siu/expedientes/arai-usuarios/idp:v3.0.10
Error response from daemon: manifest for hub.siu.edu.ar:5005/siu/expedientes/arai-usuarios/idp:v3.0.10 not found: manifest unknown: manifest unknown
No lo van a poder realizar, en las imágenes Docker no se distribuye el cliente Swagger de API. Si lo que desean es interactuar con la API pueden hacerlo vía curl, o si requieren la documentación, la pueden ver acá.
Sergio, gracias. Tampoco se distribuye el .json de OpenAPI supongo? porque si estuviera, se podría poner un cliente Swagger en cualquier otro lado y utilizar esa spec.