Skip to main content

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)Sí
PasswordstringContraseña (solo para creación)Sí (creación)
SiteIdintID del sitioNo
FirstNamestringNombreSí
LastNamestringApellidoSí
EMailstringEmailSí
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