Endpoints para Usuario
En el contexto de nuestra API, un usuario representa una entidad fundamental que interactúa con el sistema. Este usuario puede ser un individuo autenticado que realiza acciones específicas dentro de la plataforma.
Características Comunes de los Usuarios
-
Identificación Única: Cada usuario tiene un identificador único
idque los distingue de otros usuarios en el sistema. -
Datos Personales: Típicamente, un usuario tiene información asociada como nombre, dirección de correo electrónico y otros detalles de contacto.
-
Permisos y Roles: Los usuarios pueden tener roles y permisos asignados que dictan qué acciones pueden realizar dentro del sistema.
-
Estado y Actividad: Puede haber estados que indican si el usuario está activo, inactivo o suspendido temporalmente, dependiendo de las reglas de negocio y políticas de la plataforma.
-
Actividades y Registro: Las actividades realizadas por un usuario dentro del sistema, como la creación, modificación o eliminación de recursos, pueden ser registradas.
Funcionalidades Relacionadas con el Usuario
-
Autenticación y Seguridad: Frecuentemente, los usuarios necesitan autenticarse utilizando credenciales válidas para acceder a funciones específicas o recursos protegidos.
-
Gestión de Perfiles: Puede existir funcionalidad para que los usuarios administren sus propios perfiles, actualicen información personal o ajustes de cuenta.
-
Interacción con Recursos: Los usuarios pueden interactuar con otros recursos del sistema, como crear, leer, actualizar y eliminar datos, basado en sus roles y permisos.
Importancia en la API
Nuestra API proporciona endpoints específicos para gestionar y manipular usuarios dentro del sistema. Estos endpoints permiten operaciones como la creación, actualización, recuperación y eliminación de información de usuario de manera estructurada y segura.
Acceso a la Plataforma B2B
Estos usuarios tendrán acceso a la plataforma B2B (Business-to-Business), facilitando transacciones e interacciones entre negocios.
Endpoints
GET/User/getUser
Obtención de una Lista Paginada de Usuarios del Sistema
Descripción
Este endpoint recupera una lista paginada de usuarios del sistema. Permite a los clientes obtener datos de usuarios basados en parámetros de paginación como el número de página (page) y el número de ítems por página (pageSize). La respuesta incluye información detallada sobre cada usuario, incluyendo su ID, nombre de usuario, nombre completo, dirección de correo electrónico, estado, marca de tiempo de última actualización, detalles de idioma asociados e información de socio comercial.
Parámetros
| Nombre | Descripción | Tipo | Valor Predeterminado |
|---|---|---|---|
page | Número de página | Integer | 1 |
pageSize | Número de ítems por página | Integer | 10 |
Respuestas
JSON
{
"data": [
{
"id": "string",
"idRemote": "string",
"username": "string",
"name": "string",
"email": "string",
"status": "string",
"updatedAt": "string",
"dateValid": "string",
"active": true,
"language": {
"id": "string",
"code": "string",
"iso": "string",
"name": "string"
},
"businessPartner": {
"id": "string",
"idRemote": "string",
"contactName": "string",
"comercialName": "string",
"tin": "string"
}
}
],
"pagination": {
"totalItems": 0,
"itemsPerPage": 0,
"currentPage": 0,
"totalPages": 0,
"nextPageUrl": "string"
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<export>
<data>
<item id="string">
<idRemote>string</idRemote>
<username>string</username>
<name>string</name>
<email>string</email>
<status>string</status>
<updatedAt>string</updatedAt>
<dateValid>string</dateValid>
<active>true</active>
<language>
<id>string</id>
<code>string</code>
<iso>string</iso>
<name>string</name>
</language>
<businessPartner>
<id>string</id>
<idRemote>string</idRemote>
<contactName>string</contactName>
<comercialName>string</comercialName>
<tin>string</tin>
</businessPartner>
</item>
</data>
<pagination>
<totalItems>0</totalItems>
<itemsPerPage>0</itemsPerPage>
<currentPage>0</currentPage>
<totalPages>0</totalPages>
<nextPageUrl>string</nextPageUrl>
</pagination>
</export>
POST/User/create
Registro de Usuarios en la API: Uso del Método POST
Actualmente, nuestro método POST en la API está diseñado para manejar exclusivamente el formato JSON. Para registrar usuarios de manera efectiva, es crucial seguir un proceso que garantice la integridad de los datos y la funcionalidad adecuada del sistema.
Proceso de Registro:
-
Creación de Business Partner: Antes de registrar un usuario, es necesario asegurarse de que exista un Business Partner asociado. Este paso es fundamental ya que muchos de nuestros servicios y funcionalidades dependen de la existencia de esta entidad. 👉Registrar Business Partner🌱
-
Asignación de Idioma por Defecto: Cada usuario registrado debe tener un idioma predeterminado asociado. Esto asegura que la comunicación y la interacción dentro de la plataforma sean efectivas desde el inicio. 👉Obtención Lenguaje🌱
Detalles del Método POST:
Al utilizar el método POST para registrar usuarios, se deben proporcionar datos estructurados en formato JSON que incluyan información crucial como el nombre completo, dirección de correo electrónico y detalles adicionales según sea necesario. El proceso garantiza que cada usuario tenga una identidad única y esté correctamente configurado para interactuar con la plataforma de manera segura y eficiente. El campo idRemote proporcionado en la creación de una nueva entidad se corresponde con el idRemote que quiera darle el usuario. El sistema creará automáticamente un id local.
[
{
"idRemote": "string",
"username": "string",
"name": "string",
"languageId": "string",
"email": "string",
"businessPartnerId": "string",
"dateValid": "string",
"active": true
}
]
Es posible añadir varios usuarios a través de la misma solicitud separándolos con comas dentro del array en el cuerpo de la solicitud.
PUT/User/update/{id}
Actualización de Usuarios.
Descripción
Este endpoint permite a los clientes actualizar los datos de usuarios utilizando el parámetro id. Este campo id puede ser tanto el identificador generado por la base de datos del B2B como el idRemote que usted nos proporciona al registrar los usuarios. Esta flexibilidad asegura que pueda integrar y sincronizar fácilmente los datos existentes en su sistema con nuestra plataforma, garantizando una gestión eficiente y precisa de la información de los usuarios."
Parámetros
| Nombre | Descripción | Tipo |
|---|---|---|
id | Identificador de Usuario | String |
Cuerpo de la solicitud
El cuerpo de la solicitud debe seguir el siguiente esquema en formato JSON:
{
"username": "string",
"name": "string",
"languageId": "string",
"email": "string",
"businessPartnerId": "string",
"dateValid": "string",
"active": true
}
DELETE/User/delete/{id}
Eliminación de Usuarios.
Descripción
Este endpoint permite la eliminación de usuarios utilizando su identificador único. Este campo id puede ser tanto el identificador generado por la base de datos del B2B como el idRemote que usted nos proporciona al registrar los usuarios. Es importante destacar que al eliminar un usuario, este no se borra completamente de la base de datos para evitar posibles inconsistencias de datos relacionadas con pedidos o facturas asociadas.
En lugar de eliminarlo por completo, el usuario entra en un estado donde no estará disponible para su uso activo. Sus datos de usuario y correo electrónico serán liberados, lo que significa que, aunque no se pueda utilizar nuevamente de inmediato, el usuario podrá ser reactivado si así se requiere en el futuro. Este enfoque asegura una gestión segura y flexible de los usuarios dentro de nuestra plataforma, manteniendo la integridad de los datos y permitiendo una recuperación fácil y controlada de usuarios previamente eliminados. Una vez eliminadO, el Usuario se registra en el Historial de Eliminados.
Parámetros
| Nombre | Descripción | Tipo |
|---|---|---|
id | Identificador de Usuario | String |
Posibles Errores en la Respuesta
| Error | Código | Respuesta |
|---|---|---|
| Este error ocurre cuando no se puede establecer una conexión con la base de datos. Es un problema interno del servidor. | 500 | {"code": 500,"error": "Database connection failed."} |
| Este error ocurre cuando no puede insertar o actualizar y en la dbs de pruebas. | 500 | {"code": 500,"error": "Invalid connection name, you cannot insert in default"} |
| Este error indica que falta un parametro. | 400 | {"code": 400,"error": "Parameter $parameter is required"} |
| Este error indica que no está autorizado. | 401 | {"code": 401,"error": "Unauthorized."} |
| Este error indica que no ha sido posible encontrar el Usuario. | 404 | {"code": 404,"error": "No entity found for User with $id."} |
| Este error ocurre cuando intenta insertar un usuario que ya existe o un email o un username. | 409 | {"code": 409,"error": "Duplicate entry => Care with email and username"} |
| Este error ocurre cuando intenta enviar demasiadas solicitudes en un corto periodo de tiempo. | 429 | {"code": 429,"error": "Too Many Requests"} |