Skip to main content

WSABMCuentas

Alta, baja y modificación masiva de cuentas/clientes. Procesa una colección de cuentas con validación de productos y coberturas.

Target route

POST /apidev/legacy/WSABMCuentas

Status

New implementation required — La lógica existe repartida en módulos de cuentas y clientes de GeoTareas. Falta el adapter de compatibilidad que soporte el contrato masivo del legado.


Authentication

{
"WSAutorizacion": {
"Guid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Usuario": "usuario@empresa.com",
"Password": "contraseña"
}
}

Request body

El endpoint recibe una colección de cuentas. Cada cuenta tiene un flag Operacion que indica si es alta, modificación o baja.

CampoTipoObligatorioDescripción
WSAutorizacionobjectCredenciales de autenticación legacy
CuentasarrayLista de cuentas a procesar
Cuentas[].Operacionstring"ALTA", "MODIFICACION" o "BAJA"
Cuentas[].IdExternostringCondicionalID externo (requerido para MODIFICACION y BAJA)
Cuentas[].NombrestringCondicionalNombre completo (requerido para ALTA)
Cuentas[].ApellidostringNoApellido
Cuentas[].DocumentostringNoNúmero de documento
Cuentas[].TelefonostringNoTeléfono de contacto
Cuentas[].EmailstringNoEmail de contacto
Cuentas[].DireccionstringNoDirección
Cuentas[].LatitudnumberNoLatitud de la dirección
Cuentas[].LongitudnumberNoLongitud de la dirección
Cuentas[].SexostringNo"M", "F" o "I"
Cuentas[].EstadostringNoEstado de la cuenta
Cuentas[].ProcedenciastringNoNombre o ID de procedencia
Cuentas[].ProductostringNoNombre o ID del producto
Cuentas[].CoberturastringNoNombre o ID de cobertura
Cuentas[].TipoVehiculostringNoTipo de vehículo
Cuentas[].PatentestringNoPatente del vehículo
Cuentas[].MarcastringNoMarca del vehículo
Cuentas[].ModelostringNoModelo del vehículo
CargarTodosTipoProductobooleanNoSi true, resuelve todos los productos disponibles
{
"WSAutorizacion": { "Guid": "...", "Usuario": "...", "Password": "..." },
"Cuentas": [
{
"Operacion": "ALTA",
"IdExterno": "CLI-001",
"Nombre": "Juan",
"Apellido": "Pérez",
"Documento": "12345678",
"Telefono": "099123456",
"Email": "juan@email.com",
"Procedencia": "Servicios Sura",
"Producto": "Plan Premium",
"Cobertura": "Cobertura Total",
"Patente": "ABC 1234",
"Marca": "Toyota",
"Modelo": "Corolla"
}
]
}

Response body

CampoTipoDescripción
Resultadostring"OK" si todos los registros se procesaron
MensajestringDescripción del resultado global
ProcesadosintegerCantidad de cuentas procesadas correctamente
ErroresintegerCantidad de cuentas con error
DetallearrayDetalle por cuenta
Detalle[].IdExternostringID externo de la cuenta
Detalle[].Resultadostring"OK" o "ERROR"
Detalle[].MensajestringDetalle del error si aplica
Detalle[].IdInternostringID interno asignado (solo en ALTA exitosa)
{
"Resultado": "OK",
"Mensaje": "1 cuenta procesada",
"Procesados": 1,
"Errores": 0,
"Detalle": [
{
"IdExterno": "CLI-001",
"Resultado": "OK",
"Mensaje": "",
"IdInterno": "41224"
}
]
}

Backend services reutilizables

MóduloRutaUso
cuenta.service.tssrc/modules/geotareas/gestion/cuenta/Crear/modificar cuentas
cliente.service.tssrc/modules/geotareas/gestion/cliente/Gestión de clientes
import_despacho.cuentas.service.tssrc/modules/jobs/import_despacho/Lógica de importación masiva reutilizable

Migration note

Implementar como adapter de compatibilidad, no reimplementar desde cero.

Puntos clave:

  1. La resolución de entidades por nombre (Procedencia, Producto, Cobertura) debe preservarse
  2. Las validaciones de combinaciones Procedencia+Producto+Cobertura son críticas
  3. El procesamiento debe ser transaccional por registro: si falla una cuenta, no debe afectar las demás
  4. CargarTodosTipoProducto activa una lógica adicional de resolución de productos

  • WSAltaServicio — puede crear cuentas como parte del flujo de alta de servicio
  • Accounts API — API pública moderna equivalente