Saltar al contenido principal

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)

EndpointDescripciónParámetros principales
GET /Api/User/{id}?hash={hash}Obtiene usuario específico por IDid, hash
GET /Api/User?term={term}&fields={fields}&hash={hash}Búsqueda de usuarios con filtrosterm, fields, hash

Endpoints de modificación (PUT)

EndpointDescripciónParámetros principales
PUT /Api/User/{id}?hash={hash}Actualiza usuario específicoid, hash + payload JSON

Endpoints de creación (POST)

EndpointDescripciónParámetros principales
POST /Api/User?hash={hash}Crea nuevo usuariohash + payload JSON

Endpoints de cliente (Client)

EndpointDescripciónParámetros principales
GET /Api/Client/{id}?hash={hash}Obtiene cliente específico por IDid, hash
GET /Api/Client/Get?hash={hash}Obtiene todos los clienteshash
GET /Api/Client/Get/{id}?hash={hash}Obtiene cliente por IDid, hash
POST /Api/Client?hash={hash}Crea nuevo clientehash + payload JSON
PUT /Api/Client/{id}?hash={hash}Actualiza clienteid, hash + payload JSON
DELETE /Api/Client/{id}?hash={hash}Elimina clienteid, hash

Consulta de usuario por ID

URL y método

GET /Api/User/{id}?hash={hash}

Parámetros requeridos

ParámetroTipoDescripciónEjemplo
idintID del usuario25
hashstringToken de autenticación5de3928b-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ámetroTipoDescripciónEjemplo
termstringTérmino de búsqueda (puede estar vacío)carlos
fieldsstringCampos donde buscarFirstName
hashstringToken de autenticación5de3928b-6018-4b0c-9ebd-bc2c3e18f708

Campos de búsqueda disponibles

CampoDescripción
UserNameBusca en nombre de usuario
FirstNameBusca en el nombre
LastNameBusca en el apellido
IdNumberBusca en número de documento
InternalCodeBusca en código interno
PriceListBusca en ID de lista de precios
NoneNo 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ámetroTipoDescripciónEjemplo
hashstringToken de autenticación5de3928b-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ámetroTipoDescripciónEjemplo
idintID del usuario a actualizar25
hashstringToken de autenticación5de3928b-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

CampoTipoDescripciónRequerido
IdintID único del usuarioNo (auto-generado)
UsernamestringNombre de usuario (normalmente email)
PasswordstringContraseña (solo para creación)Sí (creación)
SiteIdintID del sitioNo
FirstNamestringNombre
LastNamestringApellido
EMailstringEmail
AccessboolUsuario puede accederNo
UILangstringIdioma de interfazNo
CurrentLoginDatedatetimeFecha de login actualNo (auto)
LastLoginDatedatetimeFecha de último loginNo (auto)
CurrentLoginIpstringIP actualNo (auto)
LastLoginIpstringÚltima IPNo (auto)
CreationDatedatetimeFecha de creaciónNo (auto)
AddressstringDirecciónNo
StatestringProvincia/EstadoNo
CitystringCiudadNo
CountrystringPaísNo
TownstringLocalidadNo
PostalCodestringCódigo postalNo
PhonestringTeléfonoNo
MobilestringCelularNo
IdNumberstringNúmero de documentoNo
ProfileIdintID del perfilNo
PriceListIdintID de lista de preciosNo
InternalCodestringCódigo internoNo
ExternalLoginCodestringCódigo de login externoNo
BirthdaydatetimeFecha de nacimientoNo
PreferencesarrayPreferencias adicionalesNo

Manejo de errores

Códigos de error comunes

CódigoDescripción
400Datos inválidos o campos requeridos faltantes
401Token (hash) inválido o expirado
404Usuario no encontrado
409Conflicto (email duplicado, username existente)
500Error interno del servidor