Cliente (POSTMAN / Frontend)
↓
Controller (Web API)
↳ valida request (Validator) y llama a Service/Flow
↓
Service / Flow
↳ parsea/normaliza (Helpers) y llama a Repository (DB)
↓
Repository
↳ ejecuta Stored Procedure (PA_...)
↓
SQL Server
/api/auth/login
ApiAuthToken_caser) y caduca según ApiTokenExpireMinutes.
{
"Username": "usuario",
"Password": "password"
}
{
"code": 200,
"message": "Autenticación correcta.",
"usuario": {
"id": 1,
"username": "usuario",
"codigoCliente": 60,
"denominacion": "Cliente Demo",
"email": "demo@dominio.com"
},
"token": "BASE64(...)",
"expiresInMinutes": 10,
"expiresAt": "2026-02-17T14:50:00Z",
"success": true
}
Authorization: Bearer <token> (o body si aplica según endpoint).
/api/usuarioweb/crear
{
"UsuarioAcceso": "usuario",
"Password": "password",
"CodigoCliente": 1,
"CodigoIdioma": "ES",
"Denominacion": "Nombre Apellidos",
"Email": "correo@dominio.com"
}
/api/usuarioweb/validar
{
"UsuarioAcceso": "usuario",
"Password": "password"
}
/api/usuarioweb/cambiar-password
{
"UsuarioAcceso": "usuario",
"OldPassword": "oldPassword",
"NewPassword": "newPassword"
}
/api/indexa/ping
/api/indexa/tarificar
INDEXA_CLIENT_ID y INDEXA_ACUERDO_MARCO_PERSONAL.
{
"FechaNacimiento": "1985-10-01T00:00:00",
"FechaEfecto": "2026-02-17T00:00:00",
"CapitalAsegurado": 100000,
"Periodicidad": "12",
"SobreprimaPct": 0
}
1/3/6/12
/api/indexa/tarifa/obtener
Periodicidad, Edad.
{
"Periodicidad": "12",
"Edad": 40
}
/api/indexa/tarifa/modificar
IdTarificadorVida.
{
"IdTarificadorVida": 123,
"Periodicidad": "12",
"Edad": 40,
"PrimaPura": 0.00,
"PorcGGI": 0.00,
"PrimaNeta": 1.23,
"CCS": 0.00,
"PrimaBruta": 1.45,
"RecargoFraccionamiento": 0.00,
"RecargoFraccCCS": 0.00
}
/api/indexa/comunicacionpoliza
Endpoint oficial
/api/indexa/paso_previo_contractacion_poliza
Authorization: Bearer <token>
{
"Token": null,
"Cert": "CERT-0001",
"Producto": {
"CodigoCompania": "001",
"CodigoSubcompania": "01",
"CodigoTerminal": "T01",
"CodigoAgente": "A01",
"CodigoProducto": "60008"
},
"Cliente": {
"IdUsuario": "1",
"Nombre": "María",
"Apellidos": "Pérez López",
"Nif": "12345678Z",
"FechaNacimiento": "01/10/1985",
"Sexo": "M",
"Direccion": {
"Via": "Calle Mayor",
"Numero": "10",
"Piso": "3B",
"Cp": "28001",
"Municipio": "Madrid",
"Provincia": "Madrid",
"Pais": "ES"
}
},
"Riesgo": {
"CapitalAsegurado": 100000,
"PrimaBruta": 145.50,
"PrimaNeta": 123.00,
"FechaEfecto": "17/02/2026"
},
"Coberturas": [
{ "Codigo": "3", "Descripcion": "Fallecimiento", "Capital": 100000 }
],
"Beneficiarios": [
{
"Tipo": "Persona física",
"Nombre": "Juan",
"Apellido1": "Pérez",
"Apellido2": "López",
"Nif": "87654321X",
"Parentesco": "Cónyuge",
"Porcentaje": 100,
"CodigoTipoBeneficiarioDTB": 1191
}
],
"Pago": {
"Iban": "ES1200000000XXXXXXXXXXXX",
"FrecuenciaPago": "12",
"CodigoCuentaPago": "1"
}
}
{
"Status": "OK",
"Message": "Paso previo procesado correctamente.",
"Data": {
"Tarificacion": { "...": "..." },
"Insercion": {
"CodigoPolizaMaster": 0,
"IdPersona": 0,
"IdContacto": 0,
"IdSituacionRiesgo": 0,
"IdSituacionRiesgoPoliza": 0,
"IdDomiciliacion": null,
"IdCertificadoPoliza": 0
}
}
}
/api/indexa/confirmacionpoliza
cert ya existe en la póliza master y lo deja en estado VIGENTE.
Content-Type: application/json Authorization: Bearer <token>
{
"token": null,
"cert": "CERT-PRUEBA-0004",
"numeroPoliza": "60008",
"fechaConfirmacion": "2026-02-18T00:00:00"
}
{
"Codigo": "00",
"Descripcion": "Póliza confirmada correctamente.",
"Data": {
"Cert": "CERT-PRUEBA-0004",
"NumeroPoliza": "60008",
"Estado": "VIGENTE",
"FechaConfirmacion": "2026-02-18T00:00:00"
}
}
dbo.PA_WSIndexa_ConfirmacionPoliza · Valida cert en master y actualiza estado/fecha de confirmación.
/api/indexa/consultapoliza
{
"token": null,
"cert": "CERT-PRUEBA-0004",
"numeroPoliza": "60008"
}
{
"Codigo": "00",
"Descripcion": "Consulta correcta",
"Poliza": {
"Cert": "CERT-PRUEBA-0004",
"NumeroPoliza": "60008",
"Estado": "VIGENTE",
"FechaEfecto": "2026-02-18T00:00:00",
"FechaVencimiento": null,
"Tomador": { "Nombre": "...", "Documento": "...", "Direccion": "..." },
"Beneficiario": { "Nombre": "...", "Documento": "..." },
"TipoBeneficiario": null,
"CapitalAsegurado": null,
"PrimaNeta": null,
"PrimaBruta": 145.30,
"SobreprimaSalud": null,
"Coberturas": []
}
}
dbo.PA_WSIndexa_ConsultaPoliza_Obtener
/api/indexa/cancelacionpoliza
Desistimiento, Poliza Similar, No conforme con venta.
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"cert": "CERT-PRUEBA-0004",
"numeroPoliza": "60008",
"fechaCancelacion": "2026-02-18T00:00:00",
"motivo": "Desistimiento"
}
{
"Codigo": "00",
"Descripcion": "Cancelación realizada correctamente.",
"Data": {
"Cert": "CERT-PRUEBA-0004",
"NumeroPoliza": "60008",
"Estado": "CANCELADA",
"FechaCancelacion": "2026-02-18T00:00:00"
}
}
dbo.PA_WSIndexa_CancelacionPoliza
index.html debe estar en la raíz (junto a web.config)./api/... (Web API).Authorization: Bearer.INDEXA_CLIENT_ID y INDEXA_ACUERDO_MARCO_PERSONAL del web.config.Db.GetOpen() con SELECT DB_NAME().