Gestión de Usuarios - API E3 Stores
La API de E3 Stores permite gestionar usuarios del sistema de eCommerce, incluyendo consultas, creación, actualización y eliminación de cuentas de usuario. Incluye funcionalidades para búsqueda avanzada y gestión de perfiles.
Características principales
- Gestión completa de usuarios: Crear, leer, actualizar y eliminar usuarios
- Búsqueda avanzada: Filtros por múltiples campos (nombre, email, documento, etc.)
- Gestión de perfiles: Diferentes tipos de usuario y permisos
- Integración con sistemas externos: Soporte para referencias externas
- Validación de datos: Verificación de emails, documentos y otros campos
Autenticación
Todos los endpoints requieren autenticación previa mediante el endpoint Auth:
curl -X GET \
"https://demo.e3stores.cloud/Api/Auth/?username=TestApi&password=TestApi1357" \
-H "Content-Type: application/json"
Respuesta exitosa:
{
"status": "0",
"message": "Success",
"data": "5de3928b-6018-4b0c-9ebd-bc2c3e18f708"
}
El valor data es el hash que debe usarse en todas las consultas posteriores.
Endpoints disponibles
Endpoints de consulta (GET)
| Endpoint | Descripción | Parámetros principales |
|---|---|---|
GET /Api/User/{id}?hash={hash} | Obtiene usuario específico por ID | id, hash |
GET /Api/User?term={term}&fields={fields}&hash={hash} | Búsqueda de usuarios con filtros | term, fields, hash |
Endpoints de modificación (PUT)
| Endpoint | Descripción | Parámetros principales |
|---|---|---|
PUT /Api/User/{id}?hash={hash} | Actualiza usuario específico | id, hash + payload JSON |
Endpoints de creación (POST)
| Endpoint | Descripción | Parámetros principales |
|---|---|---|
POST /Api/User?hash={hash} | Crea nuevo usuario | hash + payload JSON |
Endpoints de cliente (Client)
| Endpoint | Descripción | Parámetros principales |
|---|---|---|
GET /Api/Client/{id}?hash={hash} | Obtiene cliente específico por ID | id, hash |
GET /Api/Client/Get?hash={hash} | Obtiene todos los clientes | hash |
GET /Api/Client/Get/{id}?hash={hash} | Obtiene cliente por ID | id, hash |
POST /Api/Client?hash={hash} | Crea nuevo cliente | hash + payload JSON |
PUT /Api/Client/{id}?hash={hash} | Actualiza cliente | id, hash + payload JSON |
DELETE /Api/Client/{id}?hash={hash} | Elimina cliente | id, hash |
Consulta de usuario por ID
URL y método
GET /Api/User/{id}?hash={hash}
Parámetros requeridos
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
id | int | ID del usuario | 25 |
hash | string | Token de autenticación | 5de3928b-6018-4b0c-9ebd-bc2c3e18f708 |
Ejemplo de petición
curl -X GET \
"https://demo.e3stores.cloud/Api/User/25?hash=5de3928b-6018-4b0c-9ebd-bc2c3e18f708" \
-H "Content-Type: application/json"
Respuesta de ejemplo
{
"Id": 25,
"Username": "carlos.martinez@email.com",
"SiteId": 1,
"FirstName": "Carlos",
"LastName": "Martinez",
"EMail": "carlos.martinez@email.com",
"Access": true,
"UILang": "es",
"CurrentLoginDate": "2025-01-15T10:30:41.297",
"LastLoginDate": "2025-01-14T15:20:33.180",
"CurrentLoginIp": "192.168.1.100",
"LastLoginIp": "192.168.1.100",
"CreationDate": "2024-12-01T09:15:22.180",
"Address": "Av. Corrientes 1234",
"State": "1",
"City": "100",
"Country": "1",
"Town": "1050",
"PostalCode": "1043",
"Phone": "1143216789",
"Mobile": "1156789012",
"IdNumber": "12345678",
"ProfileId": 1,
"PriceListId": 0,
"InternalCode": "USER001",
"ExternalLoginCode": null,
"Birthday": "1985-03-15T00:00:00",
"Preferences": []
}
Búsqueda de usuarios
URL y método
GET /Api/User?term={term}&fields={fields}&hash={hash}
Parámetros requeridos
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
term | string | Término de búsqueda (puede estar vacío) | carlos |
fields | string | Campos donde buscar | FirstName |
hash | string | Token de autenticación | 5de3928b-6018-4b0c-9ebd-bc2c3e18f708 |
Campos de búsqueda disponibles
| Campo | Descripción |
|---|---|
UserName | Busca en nombre de usuario |
FirstName | Busca en el nombre |
LastName | Busca en el apellido |
IdNumber | Busca en número de documento |
InternalCode | Busca en código interno |
PriceList | Busca en ID de lista de precios |
None | No realiza búsqueda específica |
Ejemplo de petición
curl -X GET \
"https://demo.e3stores.cloud/Api/User?term=carlos&fields=FirstName&hash=5de3928b-6018-4b0c-9ebd-bc2c3e18f708" \
-H "Content-Type: application/json"
Búsqueda sin filtros (todos los usuarios)
curl -X GET \
"https://demo.e3stores.cloud/Api/User?term=&fields=None&hash=5de3928b-6018-4b0c-9ebd-bc2c3e18f708" \
-H "Content-Type: application/json"
Creación de usuarios
URL y método
POST /Api/User?hash={hash}
Parámetros requeridos
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
hash | string | Token de autenticación | 5de3928b-6018-4b0c-9ebd-bc2c3e18f708 |
Payload JSON para creación
{
"Username": "nuevo.usuario@email.com",
"Password": "password123",
"SiteId": 1,
"FirstName": "Nuevo",
"LastName": "Usuario",
"EMail": "nuevo.usuario@email.com",
"Access": true,
"Address": "Av. Libertador 5000",
"State": "1",
"City": "100",
"Country": "1",
"Town": "1050",
"PostalCode": "1426",
"Phone": "1143216789",
"Mobile": "1156789012",
"IdNumber": "87654321",
"ProfileId": 1,
"PriceListId": 0,
"InternalCode": "USER002",
"Birthday": "1990-07-20T00:00:00"
}
Ejemplo de petición
curl -X POST \
"https://demo.e3stores.cloud/Api/User?hash=5de3928b-6018-4b0c-9ebd-bc2c3e18f708" \
-H "Content-Type: application/json" \
-d '{
"Username": "nuevo.usuario@email.com",
"FirstName": "Nuevo",
"LastName": "Usuario",
"EMail": "nuevo.usuario@email.com",
"Access": true,
"Phone": "1143216789",
"IdNumber": "87654321"
}'
Actualización de usuarios
URL y método
PUT /Api/User/{id}?hash={hash}
Parámetros requeridos
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
id | int | ID del usuario a actualizar | 25 |
hash | string | Token de autenticación | 5de3928b-6018-4b0c-9ebd-bc2c3e18f708 |
Payload JSON para actualización
{
"Id": 25,
"Username": "carlos.martinez@email.com",
"FirstName": "Carlos Alberto",
"LastName": "Martinez",
"EMail": "carlos.martinez@email.com",
"Access": true,
"Phone": "1143216789",
"Mobile": "1156789012",
"Address": "Av. Corrientes 1234, Piso 5",
"PostalCode": "1043"
}
Ejemplo de petición
curl -X PUT \
"https://demo.e3stores.cloud/Api/User/25?hash=5de3928b-6018-4b0c-9ebd-bc2c3e18f708" \
-H "Content-Type: application/json" \
-d '{
"Id": 25,
"FirstName": "Carlos Alberto",
"Phone": "1143216789",
"Address": "Av. Corrientes 1234, Piso 5"
}'
Referencia completa de campos
Campos principales del usuario
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
Id | int | ID único del usuario | No (auto-generado) |
Username | string | Nombre de usuario (normalmente email) | Sí |
Password | string | Contraseña (solo para creación) | Sí (creación) |
SiteId | int | ID del sitio | No |
FirstName | string | Nombre | Sí |
LastName | string | Apellido | Sí |
EMail | string | Sí | |
Access | bool | Usuario puede acceder | No |
UILang | string | Idioma de interfaz | No |
CurrentLoginDate | datetime | Fecha de login actual | No (auto) |
LastLoginDate | datetime | Fecha de último login | No (auto) |
CurrentLoginIp | string | IP actual | No (auto) |
LastLoginIp | string | Última IP | No (auto) |
CreationDate | datetime | Fecha de creación | No (auto) |
Address | string | Dirección | No |
State | string | Provincia/Estado | No |
City | string | Ciudad | No |
Country | string | País | No |
Town | string | Localidad | No |
PostalCode | string | Código postal | No |
Phone | string | Teléfono | No |
Mobile | string | Celular | No |
IdNumber | string | Número de documento | No |
ProfileId | int | ID del perfil | No |
PriceListId | int | ID de lista de precios | No |
InternalCode | string | Código interno | No |
ExternalLoginCode | string | Código de login externo | No |
Birthday | datetime | Fecha de nacimiento | No |
Preferences | array | Preferencias adicionales | No |
Manejo de errores
Códigos de error comunes
| Código | Descripción |
|---|---|
| 400 | Datos inválidos o campos requeridos faltantes |
| 401 | Token (hash) inválido o expirado |
| 404 | Usuario no encontrado |
| 409 | Conflicto (email duplicado, username existente) |
| 500 | Error interno del servidor |