Table of Contents

InsurancePolicies

Endpoints relacionados con las pólizas.

Endpoint Método Descripción
/insurancePolicies/ GET Devuelve la información de una póliza
/insurancePolicies/{insurancePolicyNumber}/balance GET Devuelve el balance de una póliza

GET /InsurancePolicies

Devuelve información general de una póliza y los vehículos asociados para la creación de un reporte de siniestro. Se puede buscar a partir de número de póliza (parámetro insurancePolicyNumber) o número de chasis (parámetro vin).

Parámetros

Parámetro Descripción Comentarios
insurancePolicyNumber Número de póliza Se debe indicar este o vin
vin Número de chasis Se debe indicar este o insurancePolicyNumber
incidentTypeId Tipo de incidente Opcional. Ver tabla a continuación.
incidentDate Fecha del incidente Requerido. Formato YYYY-mm-dd
intermediaryTaxId RNC de la empresa que hace la búsqueda Opcional. Del intermediario que está reportando el incidente
reportCategoryId Tipo de reporte de siniestro para el que se hace la búsqueda. (1. Intermediario, 2. asegurado)

Ejemplo formato Url

https://{url}/InsurancePolicies?insurancePolicyNumber={insurancePolicyNumber}&vin={vinNumber}&incidentTypeId={incidentTypeId}&incidentDate={date}&intermediaryTaxId={taxId}&reportCategoryId={reportCategoryId}

Respuesta

Devuelve un arreglo de objetos con la siguiente estructura:

[
  {
    "insurancePolicyNumber": "string",
    "owner": {
      "personTypeId": 0,
      "personTypeName": "string",
      "companyInfo": {
        "companyTaxId": "string",
        "companyName": "string"
      },
      "personalInfo": {
        "identification": "string",
        "identificationTypeId": 0,
        "identificationTypeName": "string",
        "firstName": "string",
        "lastName": "string"
      },
      "phoneNumber": "string",
      "displayName": "string",
      "emailAddress": "string",
      "address": "string"
    },
    "vehicles": [
      {
        "vin": "string",
        "makeName": "string",
        "modelName": "string",
        "year": 0,
        "action": {
          "severity": "string",
          "userMessage": "string"
        },
        "coverages": [
          {
            "coverageTypeCode": "string",
            "coverageTypeName": "string"
          }
        ]
      }
    ]
  }
]

Documentación de la estructura

InsurancePolicyDetails

Atributo Tipo de datos Descripción
InsurancePolicyNumber string Número de póliza
Owner OwnerDetails Datos del dueño de la póliza
Vehicles List<VehicleDetails> Listado de vehículos de la póliza

OwnerDetails

Atributo Tipo de datos Descripción
PersonTypeId short Id tipo de persona (1. Empresa, 2. Persona física)
PersonTypeName string Nombre tipo de persona
CompanyInfo CompanyDetails Datos de la empresa
PersonalInfo PersonalDetails Datos de la persona física
PhoneNumber string Número de teléfono
DisplayName string Nombre a mostrar
EmailAddress string E-mail del asegurado
Address string Dirección del asegurado

CompanyDetails

Atributo Tipo de datos Descripción
CompanyTaxId string Número de RNC
CompanyName string Nombre de la compañía

PersonalDetails

Atributo Tipo de datos Descripción
Identification string Número de identificación
IdentificationTypeId short Id tipo de identificación (1. RNC, 2. Cédula, 3. Otro)
IdentificationTypeName string Nombre de tipo de identificación
FirstName string Nombre de la persona física
LastName string Apellido de la persona física

VehicleDetails

Atributo Tipo de datos Descripción
VIN string Número de chasis
MakeName string Marca del vehículo
ModelName string Modelo del vehículo
Year int Año del vehículo
Action VehicleAction Acción requerida
Coverages List<CoverageType> Coberturas del vehículo

VehicleAction

Atributo Tipo de datos Descripción
Severity string Severidad de la acción requerida (info, warning, error)
UserMessage string Mensaje a presentar al usuario

CoverageType

Atributo Tipo de datos Descripción
CoverageTypeCode string Código del tipo de cobertura
CoverageTypeName string Nombre del tipo de cobertura


classDiagram
    class InsurancePolicyDetails {
        +string insurancePolicyNumber
        +OwnerDetails owner
        +List~VehicleDetails~ vehicles
    }

    class OwnerDetails {
        +short personTypeId
        +string personTypeName
        +CompanyDetails companyInfo
        +PersonalDetails personalInfo
        +string phoneNumber
        +string displayName
        +string emailAddress
        +string address
    }

    class CompanyDetails {
        +string companyTaxId
        +string companyName
    }

    class PersonalDetails {
        +string identification
        +short identificationTypeId
        +string identificationTypeName
        +string firstName
        +string lastName
    }

    class VehicleDetails {
        +string vin
        +string makeName
        +string modelName
        +int year
        +VehicleAction action
        +List~CoverageType~ coverages
    }

    class VehicleAction {
        +string severity
        +string userMessage
    }

    class CoverageType {
        +string coverageTypeCode
        +string coverageTypeName
    }

    InsurancePolicyDetails --> OwnerDetails : owner
    OwnerDetails --> CompanyDetails : companyInfo
    OwnerDetails --> PersonalDetails : personalInfo
    InsurancePolicyDetails --> VehicleDetails : vehicles
    VehicleDetails --> VehicleAction : action
    VehicleDetails --> CoverageType : coverages


Modelos de respuesta


**Modelo de respuesta para una póliza de una empresa**
[
  {
    "insurancePolicyNumber": "121212",
    "owner": {
      "personTypeId": 1,
      "personTypeName": "Empresa",
      "companyInfo": {
        "companyTaxId": "130376563",
        "companyName": "Empresas XYZ, SRL"
      },
      "personalInfo": null,
      "phoneNumber": "8095623746",
      "displayName": "Empresas XYZ, SRL",
      "emailAddress": "none@example.com",
      "address": "Calle 1, No. 2, Ens. La Esperanza, Santo Domingo"
    },
    "vehicles": [
      {
        "vin": "2C3CDZAG7FH800321",
        "makeName": "Toyota",
        "modelName": "Corolla",
        "year": 2022,
        "action": null,
        "coverages": [
          {
            "coverageTypeCode": "COL",
            "coverageTypeName": "Colisión"
          },
          {
            "coverageTypeCode": "DPA",
            "coverageTypeName": "Daños propiedad ajena"
          }
        ]
      },
      {
        "vin": "3FAHP0HA2CR200547",
        "makeName": "Toyota",
        "modelName": "Prado",
        "year": 2014,
        "action": {
          "severity": "info",
          "userMessage": "El cliente debe contactar su representante."
        },
        "coverages": [
          {
            "coverageTypeCode": "COL",
            "coverageTypeName": "Colisión"
          },
          {
            "coverageTypeCode": "DPA",
            "coverageTypeName": "Daños propiedad ajena"
          }
        ]
      },
      {
        "vin": "5FNYF4H90BB040110",
        "makeName": "BMW",
        "modelName": "X5",
        "year": 2022,
        "action": {
          "severity": "warning",
          "userMessage": "Cuotas vencidas, indicar al cliente que debe realizar el pago."
        },
        "coverages": [
          {
            "coverageTypeCode": "COL",
            "coverageTypeName": "Colisión"
          },
          {
            "coverageTypeCode": "DPA",
            "coverageTypeName": "Daños propiedad ajena"
          }
        ]
      },
      {
        "vin": "1N4AL3AP8DC250678",
        "makeName": "Honda",
        "modelName": "Accord",
        "year": 2021,
        "action": {
          "severity": "error",
          "userMessage": "No se pueden emitir reclamos para este vehículo."
        },
        "coverages": [
          {
            "coverageTypeCode": "DP",
            "coverageTypeName": "Daños propios"
          },
          {
            "coverageTypeCode": "DPA",
            "coverageTypeName": "Daños propiedad ajena"
          },
          {
            "coverageTypeCode": "AV",
            "coverageTypeName": "Alquiler de vehículos"
          },
          {
            "coverageTypeCode": "RC",
            "coverageTypeName": "Riesgos comprensivos"
          }
        ]
      }
    ]
  }
]

Modelo de respuesta para una póliza de una persona física

[
  {
    "insurancePolicyNumber": "12345",
    "owner": {
      "personTypeId": 2,
      "personTypeName": "Persona Física",
      "companyInfo": null,
      "personalInfo": {
        "identification": "0015547489",
        "identificationTypeId": 0,
        "identificationTypeName": null,
        "firstName": "José",
        "lastName": "Ventura"
      },
      "phoneNumber": "8095418009",
      "displayName": "José Ventura",
      "emailAddress": "none@example.com",
      "address": "Calle Las Flores, No. 2, Ens. Quisqueya, Santo Domingo"
    },
    "vehicles": [
      {
        "vin": "1HGBH41JXMN109186",
        "makeName": "Honda",
        "modelName": "Civic",
        "year": 2024,
        "action": {
          "severity": "warning",
          "userMessage": "Cuotas vencidas, indicar al cliente que debe realizar el pago."
        },
        "coverages": [
          {
            "coverageTypeCode": "DPA",
            "coverageTypeName": "Daños propiedad ajena"
          }
        ]
      }
    ]
  }
]
Note

Los documentos JSON que aparecen aquí son solamente para fines ilustrativos y no necesariamente representa la última versión del objeto en el API. Se debe utilizar como referencia de desarrollo siempre el JSON que aparece en la documentación dinámica del endpoint correspondiente en Swagger.


Tipo de incidente

El tipo de incidente se utiliza opcionalmente para que la compañía aseguradora pueda validar el tipo de cobertura al momento de hacer la búsqueda del vehículo. Puede tener uno de los siguientes valores:

IncidentTypeId Descripción
1 Incendio
2 Robo
3 Colisión
4 Cristales
5 Otros



GET /InsurancePolicies/{insurancePolicyNumber}/balance

Devuelve información sobre el balance de una póliza y vehículo a partir de los siguientes parámetros:

Parámetros

Parámetro Descripción Comentarios
insurancePolicyNumber Número de póliza Requerido (parte de la url)
vin Número de chasis Requerido como parámetro vin

Ejemplo formato Url

https://{url}/InsurancePolicies/{insurancePolicyNumber}/balance?vin={vinNumber}

Respuesta

classDiagram
    class BalanceDetails {
        AccountBalance: decimal
        DeductibleAmount: decimal
    }

BalanceDetails

Atributo Tipo de datos Descripción
AccountBalance decimal Balance de la cuenta
DeductibleAmount decimal Monto deducible

Modelo de respuesta

{
  "accountBalance": 0,
  "deductibleAmount": 5000
}
Note

Los documentos JSON que aparecen aquí son solamente para fines ilustrativos y no necesariamente representa la última versión del objeto en el API. Se debe utilizar como referencia de desarrollo siempre el JSON que aparece en la documentación dinámica del endpoint correspondiente en Swagger.