Esta documentación tiene como objetivo proporcionar toda la información que necesitas para trabajar con nuestra API antes de pasar al entorno de Producción.
Al ser un entorno Sandbox (test) todo lo que se realice en este entorno no tendrá ningún impacto real.
Por seguridad y mantenimiento del entorno, las bases de datos y ficheros generados serán eliminados periódicamente.
Para autenticar las peticiones, incluya un encabezado Authorization con el valor "Bearer {ACCESS_TOKEN}".
Todos los endpoints que requieren autenticación están marcados con el texto "requiere autenticación" en la documentación.
Si quieres realizar alguna prueba, puedes hacerlo generando un token de acceso con la url proporcionada por email,usando el usuario y contraseña asignado.
Las contraseñas proporcionadas no son custodiadas por ERSM, por lo que si se pierde, se debe generar una nueva.
El servidor API, para validar la contraseña y generar el token de acceso se utiliza un cifrado AES-256.
No se pueden utilizar las 10 últimas contraseñas generadas.
Al solicitarse el token de acceso, éste tiene una validez de 5 minutos. Pasado este tiempo se tiene que solicitar otro token.
Acceso a datos de Pólizas, Clientes, Recibos y Siniestros.
Según la configuración asignada como Empleado, Colaborador, Usuario u otra; podrá acceder a los diferentes datos según estén disponibles.
Los listados utilizan un sistema de filtrado que es el mismo para cada endpoint.
Todos los endpoints aplican automáticamente los filtros de la configuración base del usuario autenticado. Los filtros adicionales se combinan con la configuración base.
Parámetros comunes:
start: Índice de inicio para paginación (default: 0)length: Número de registros por página (default: 25, máximo: 100)order: Array de ordenación [{"column": "nombre_columna", "dir": "asc|desc"}]filter: Filtros adicionales en formato JSONdraw: Contador para DataTables (opcional)Operadores de filtros disponibles:
{"campo": valor} → WHERE campo = valor{"campo": [val1, val2]} → WHERE campo IN (val1, val2){"campo": {"operator": "=", "value": valor}} → WHERE campo = valor{"campo": {"operator": "in", "value": [val1, val2]}} → WHERE campo IN (val1, val2){"campo": {"operator": "not_in", "value": [val1, val2]}} → WHERE campo NOT IN (val1, val2){"campo": {"operator": "between", "value": [inicio, fin]}} → WHERE campo BETWEEN inicio AND fin{"campo": {"operator": "like", "value": "texto"}} → WHERE campo LIKE '%texto%'{"campo": {"operator": "null"}} → WHERE campo IS NULL{"campo": {"operator": "not_null"}} → WHERE campo IS NOT NULLEjemplo de filtros múltiples:
{
"gci_id": [61, 73],
"pol_efecto": {"operator": "between", "value": ["2026-03-01", "2026-03-31"]},
"pol_estado": 2
}
Devuelve un listado paginado de clientes aplicando los filtros de la configuración base del usuario y cualquier filtro adicional proporcionado.
Índice de inicio para paginación.
Número de registros por página.
Contador para DataTables.
Array de ordenación.
Filtros adicionales en JSON.
curl --request GET \
--get "https://dev.apiersm.net/oficina/clientes/list?start=0&length=25&draw=1&order=%5B%7B%22column%22%3A+%22cli_nombrecompleto%22%2C+%22dir%22%3A+%22asc%22%7D%5D&filter=%7B%22gci_id%22%3A+61%2C+%22cli_estado%22%3A+2%7D" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"data": [...],
"meta": {
"entity": "clientes",
"configuration_base": {"id": 1, "name": "Configuración Base"},
"filtros_adicionales": {"gci_id": 61},
"pagination": {
"draw": 1,
"recordsTotal": 1000,
"recordsFiltered": 250,
"start": 0,
"length": 25,
"pages": 40
}
}
}
Devuelve información completa de un cliente específico incluyendo estadísticas, últimas pólizas, últimos recibos y últimos siniestros.
ID del cliente.
curl --request GET \
--get "https://dev.apiersm.net/oficina/clientes/cliente/47051388" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"cliente": {...},
"estadisticas": {...},
"ultimas_polizas": [...],
"ultimos_recibos": [...],
"ultimos_siniestros": [...],
"meta": {...}
}
Devuelve un listado paginado de recibos aplicando los filtros de la configuración base y filtros adicionales. Los recibos se ordenan por fecha de efecto descendente por defecto.
Índice de inicio para paginación.
Número de registros por página.
Contador para DataTables.
Array de ordenación.
Filtros adicionales en JSON.
curl --request GET \
--get "https://dev.apiersm.net/oficina/recibos/list?start=0&length=30&draw=1&order=%5B%7B%22column%22%3A+%22rec_efecto%22%2C+%22dir%22%3A+%22desc%22%7D%5D&filter=%7B%22rec_estado%22%3A+1%2C+%22pol_efecto%22%3A+%7B%22operator%22%3A+%22between%22%2C+%22value%22%3A+%5B%222026-01-01%22%2C+%222026-03-31%22%5D%7D%7D" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"data": [...],
"meta": {
"entity": "recibos",
"configuration_base": {"id": 1, "name": "Configuración Base"},
"filtros_adicionales": {"rec_estado": 1},
"pagination": {
"draw": 1,
"recordsTotal": 300,
"recordsFiltered": 75,
"start": 0,
"length": 30,
"pages": 10
}
}
}
Devuelve información completa de un recibo específico incluyendo datos de la póliza y información del cliente asociado.
ID del recibo.
curl --request GET \
--get "https://dev.apiersm.net/oficina/recibos/recibo/123456" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"recibo": {...},
"poliza": {...},
"cliente": {...},
"meta": {...}
}
Devuelve un listado paginado de pólizas aplicando los filtros de la configuración base y filtros adicionales. Soporta todos los operadores de filtrado disponibles.
Índice de inicio para paginación.
Número de registros por página.
Contador para DataTables.
Array de ordenación.
Filtros adicionales en JSON.
curl --request GET \
--get "https://dev.apiersm.net/oficina/polizas/list?start=0&length=50&draw=1&order=%5B%7B%22column%22%3A+%22pol_efecto%22%2C+%22dir%22%3A+%22desc%22%7D%5D&filter=%7B%22gci_id%22%3A+%5B61%2C+73%5D%2C+%22pol_efecto%22%3A+%7B%22operator%22%3A+%22between%22%2C+%22value%22%3A+%5B%222026-03-01%22%2C+%222026-03-31%22%5D%7D%7D" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"data": [...],
"meta": {
"entity": "polizas",
"configuration_base": {"id": 1, "name": "Configuración Base"},
"filtros_adicionales": {"gci_id": [61, 73]},
"pagination": {
"draw": 1,
"recordsTotal": 500,
"recordsFiltered": 120,
"start": 0,
"length": 50,
"pages": 10
}
}
}
Devuelve información completa de una póliza específica incluyendo datos del cliente, recibos, siniestros, vehículos y colaboradores.
ID de la póliza.
curl --request GET \
--get "https://dev.apiersm.net/oficina/polizas/poliza/47203367" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"poliza": {...},
"cliente": {...},
"recibos": [...],
"siniestros": [...],
"meta": {...}
}
Devuelve un listado paginado de siniestros aplicando los filtros de la configuración base y filtros adicionales. Los siniestros se ordenan por fecha de siniestro descendente por defecto.
Índice de inicio para paginación.
Número de registros por página.
Contador para DataTables.
Array de ordenación.
Filtros adicionales en JSON.
curl --request GET \
--get "https://dev.apiersm.net/oficina/siniestros/list?start=0&length=20&draw=1&order=%5B%7B%22column%22%3A+%22sin_fechasiniestro%22%2C+%22dir%22%3A+%22desc%22%7D%5D&filter=%7B%22sin_estado%22%3A+1%2C+%22ram_nombre%22%3A+%22AUTO%22%7D" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"data": [...],
"meta": {
"entity": "siniestros",
"configuration_base": {"id": 1, "name": "Configuración Base"},
"filtros_adicionales": {"sin_estado": 1},
"pagination": {
"draw": 1,
"recordsTotal": 150,
"recordsFiltered": 45,
"start": 0,
"length": 20,
"pages": 8
}
}
}
Tarificador Genérico de ERSM Insurance Brokers con el que se puede:
Endpoints relacionados con acciones sobre Tarificaciones, presupuestos y generación de pólizas.
Crea un nuevo proyecto de seguros y obtiene cotizaciones de cada compañía asignada.
Nota: Esta operación puede tardar más de un minuto en completarse.
Las cotizaciones obtenidas las encontrarás en los campos mainQuotes y addonQuotes, dependiendo de si se trata
de un producto principal o de un add-on. Mira el campo errors para cotizaciones fallidas.
Adicionalmente, obtendrás una lista de ofertas preconfiguradas que representan una combinación de una cotización de producto principal y, opcionalmente, algunas cotizaciones de add-on compatibles.
En el caso que el conductor NO sea el Propietario o el Tomador del seguro, ("es_tomador":"no" o "es_propietario":"no") se debe informar con el objeto tomador o propietario con la misma estructura que la del objeto conductor.
Cuando sea necesario, recibirás más información sobre el estado en el campo messages de cada resultado.
curl --request POST \
"https://dev.apiersm.net/ersmtarificador/polizas/tarificar" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"fecha_accion\": \"2025-05-28 13:20:00\",
\"tipo\": \"Car\",
\"avant2_user\": \"byd_autos@ersm.net\",
\"colaborador\": \"12345\",
\"vendedor\": \"67890\",
\"conductor\": {
\"tipo_ident\": \"Dni\",
\"ident\": \"72525450X\",
\"nombre\": \"Derek\",
\"apellido1\": \"Pollock\",
\"apellido2\": \"Test\",
\"fecha_nacimiento\": \"1977-09-29\",
\"fecha_carnet\": \"2000-07-06\",
\"tipo_carnet\": \"B\",
\"email\": \"mimail@gmail.com\",
\"movil\": \"600700890\",
\"telefono\": \"912345000\",
\"cod_postal\": \"28916\",
\"provincia\": \"Madrid\",
\"poblacion\": \"Leganés Madrid\",
\"dir_tipo_calle\": \"Calle\",
\"dir_nombre_calle\": \"Falsa\",
\"dir_numero_calle\": \"123\",
\"sexo\": \"Male\",
\"estado_civil\": \"Single\",
\"estado_laboral\": \"Employee\",
\"ocupacion\": \"2612\",
\"es_tomador\": \"si\",
\"es_propietario\": \"si\"
},
\"tomador\": {
\"tipo_ident\": \"Dni\",
\"ident\": \"72525450X\",
\"nombre\": \"Derek\",
\"apellido1\": \"Pollock\",
\"apellido2\": \"Test\",
\"fecha_nacimiento\": \"1977-09-29\",
\"fecha_carnet\": \"2000-07-06\",
\"tipo_carnet\": \"B\",
\"email\": \"mimail@gmail.com\",
\"movil\": \"600700890\",
\"telefono\": \"912345000\",
\"cod_postal\": \"28916\",
\"provincia\": \"Madrid\",
\"poblacion\": \"Leganés Madrid\",
\"dir_tipo_calle\": \"Calle\",
\"dir_nombre_calle\": \"Falsa\",
\"dir_numero_calle\": \"123\",
\"sexo\": \"Male\",
\"estado_civil\": \"Single\",
\"estado_laboral\": \"Employee\",
\"ocupacion\": \"2612\"
},
\"propietario\": {
\"tipo_ident\": \"Dni\",
\"ident\": \"72525450X\",
\"nombre\": \"Derek\",
\"apellido1\": \"Pollock\",
\"apellido2\": \"Test\",
\"fecha_nacimiento\": \"1977-09-29\",
\"fecha_carnet\": \"2000-07-06\",
\"tipo_carnet\": \"B\",
\"email\": \"mimail@gmail.com\",
\"movil\": \"600700890\",
\"telefono\": \"912345000\",
\"cod_postal\": \"28916\",
\"provincia\": \"Madrid\",
\"poblacion\": \"Leganés Madrid\",
\"dir_tipo_calle\": \"Calle\",
\"dir_nombre_calle\": \"Falsa\",
\"dir_numero_calle\": \"123\",
\"sexo\": \"Male\",
\"estado_civil\": \"Single\",
\"estado_laboral\": \"Employee\",
\"ocupacion\": \"2612\"
},
\"vehiculo\": {
\"matricula\": \"1022KBM\",
\"fecha_matricula\": \"2021-04-12\",
\"fecha_compra\": \"2021-04-14\",
\"codigo_b7\": \"00080161072\",
\"cod_postal\": \"28025\",
\"km_anio\": \"15000\",
\"remolque\": false,
\"tipo_parking\": \"CommunalParking\"
},
\"extra\": {
\"extra1\": \"info1\",
\"extra2\": \"info2\"
},
\"comments\": \"Observaciones Sobre la tarificación AUTO\"
}"
{
"mainQuotes": [...],
"addonQuotes": [...],
"errors": [],
"offers": [
{
"main_quote_id": 123,
"addon_ids": [12, 13],
"price_total": 420.75
}
],
"messages": [
{
"quote_id": 123,
"message": "Faltan datos del conductor."
}
]
}
Recupera un proyecto de seguro con sus cotizaciones.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/polizas/recuperar" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2User\": \"usuario@ersm.net\",
\"id\": 282729
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6IlVCbUN5YnA4azN1RnArMUd1TDhkd2c9PSIsInZhbHVlIjoiZzZlTWM4LzdFNHA2cyttK2h5Z0FCa2tycm83ZDJlRjFiU3lNYkU1aC9ORSt0WXZBRDlvUzFwa1lzSWNUYzVZek9FeEZOOUJSNldtKy9NM3hVOEY1cjdicEo3WXFycnhPR2ltTE9YcmJGckt1dGR5WGtGK25YTWpmejM3aWdXME0iLCJtYWMiOiIwNDRhMDA4OTQ2Y2RhNDU1NmVhZjMzZWQ2NWQ3YjFmZGQzNjNmYzNkMTFmMjEyMmRiNmE2ZDQ5NTQ0MzhiMzZkIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:31 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6Ik9xR3dsdnJSbVh3NHJ4VG5HUnMzeUE9PSIsInZhbHVlIjoiU2FRaDdwTThhQzV6b2l4MVMvb1ZiQUgzWjRhNm1jbEtSSXpkeU00TjRBNmptUm5QTE5HcVpJaUNZVzRFR0FicGlpajlFWGRHdEE3MzErUUlVeXBjdEp0Y1BGOXF3QndPdzlQYXlDMkhibnU0dkxLZ0dkb2g0blVIaC9Zc1UzeVMiLCJtYWMiOiI4ODk1NzFhNzU1OTIxOTU2YTg1YzM0YzUwMWUxMjkxNGU1MDVkZjk0Y2Y3ZTJkYjM1OTk1YjE2OTA0MmNmMGFlIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:31 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
Modifica un proyecto de seguro cotizado.
Puede enviar una solicitud con los datos del seguro anterior modificando solo las propiedades de los datos del seguro modificables. El resto de las propiedades se ignorarán.
Nota: Revise la operación Roles de Personas participantes de cada línea de seguro para determinar qué campos de rol de persona son obligatorios y modificables.
Esto le permite continuar con el proceso de solicitud de seguro para obtener una póliza de seguro del proveedor.
curl --request PATCH \
"https://dev.apiersm.net/ersmtarificador/polizas/modificar" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" Crea un REPORT o Presupuesto sobre un proyecto de seguro.
Se debe proporcionar el ID general del proyecto del seguro y los ID's de las Ofertas "offers" que se quieran incluir en el presupuesto.
En el caso de tener una personalización en el presupuesto, se debe indicar dentro de Customizations.
curl --request POST \
"https://dev.apiersm.net/ersmtarificador/polizas/presupuesto" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2User\": \"usuario@ersmgrupo.com\",
\"id\": 283144,
\"type\": \"Offers\",
\"offerIds\": [
537888432,
537888512,
537888643,
537887956
],
\"includeCoverages\": false,
\"includePremiumBreakdown\": false,
\"includeBrokerFee\": true,
\"includeIpid\": false,
\"customization\": {
\"type\": \"presupuesto\",
\"brand\": \"hyundai\"
}
}"
Recupera una pre emisión de seguro (oferta) con sus opciones de producto.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/polizas/recupera-oferta" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"id\": 282734,
\"offerId\": 5362113
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6IitQRGhsR1hXR24xcEJqM1oxbTFJakE9PSIsInZhbHVlIjoiUVFhQWdEWGZVVEFWa1VqazZqVmQxc3dDR3VQc0p3cCtEdUtGWTFST3lZQXBiYVBRM1NFanNhWkRGOHZJaGpJMTJLOFJqKzMvclNoR2hYaTV0bDE5N1JiYW95SmwzcVk5OVdoWW9iRG5ZUEdOY1JvWlUzRkgyRW1wcTB6RldLeVEiLCJtYWMiOiI1MmE4ODE4NWRjY2Q1Mjg0YjU1MTcwOWE4MDAzYWE2ZTBlOWU1MzZjYmQ3OWE1N2ZmZTc0YTlhNTRjYjdmY2RkIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:31 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6IlNZQ0o5c0NmRnpmczlTblNUTE1KekE9PSIsInZhbHVlIjoiM0tWTGFMMHpWTzJFQW9BT1lwWjEyQkl6SDNYYll1d1NLdFRqYmlRKzNvczhPcHVRRlkzYVpnL2lNTEI0dnpyb1pRaUhvdTUxTmZ6V2ozY0VUTkRTR0dqYWtLRzZoeVkreUdTWlBZa2loNktWNWt5aUp6RTNNcjBueWdxU0hHd1MiLCJtYWMiOiI0ZWJlYTRhOGYwMjE1YjJhYzI0MzNkYTEyYmI3YTRmNzJiNjkzYTE5Y2VlODkwMmQ4NGE5ZTU3MDE5N2M0OGNiIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:31 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
Recuperar las garantías de una oferta de seguro.
Para facilitar la comparación de ofertas, el conjunto de garantias que se devuelve es el mismo para todas las ofertas (en cada ramo de seguro). Si la oferta realmente proporciona estas coberturas se determina mediante los campos "included" y "text".
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/polizas/recupera-oferta-garantias" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"id\": 282734,
\"offerId\": 5362113
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6IjlHSWVnNHBZSG1YY2ZKSCtSamhzOGc9PSIsInZhbHVlIjoiNkZBdUhFZU1IM041R1NwVHhWaTZtSUFPSHZ4WVRRU1BFTGlYOVFENDF5a1BSa25JZ0ZwL3BVb05NZU5keHprcUhkTElJUVJGUHNRSUhiUHhMUDgxaUxlUEVLbzAxQ3B4NG00WVpRSlZRUm14UWZnVWdZMXhwNUtQdXZNdU84aDMiLCJtYWMiOiJhNzI0ZmM1ZTM4ODlhOTJiMWJhZWY5NDFhYTZmMWUwNDlhOTA3MDI2YmVkYzI1ODhiYTAwNWIxYjA4ODM3YmU0IiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6IjZVcU5XY0hYOVF5T2FsNGJYWXRLSWc9PSIsInZhbHVlIjoiYjZ2WlV5SWROcmJQQzZJVlB5WWhTRkxaM3JLcWNMZnNUM1dsNVZ5N2tLcGc0UGU3VEdNbnk2VkNid0FsTGo4TUdTRlpNc1kxNVBKSUl0dVFveUVtOCsxSlIyM3FmT3JKa3dGT3k0ZlczMlBHbXVDUFRZUGhmUHhKdUtXT2NrNmUiLCJtYWMiOiJjNjIwYjE3ZDFjNDM3NjkxNDE0MGRiODllZDM1NzIzZjRiYzYyYTU2MmQxNmY2Y2NkNjQzY2QwNTc2NjEzMWQwIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
Crea una nueva oferta de seguro pre-emitiendo y empaquetando una cotización principal y, opcionalmente, algunas cotizaciones complementarias compatibles de un seguro existente.
Esta operación es obligatoria para las ofertas cuyas cotizaciones tienen la acción "ReRate" como obligatoria entre sus "actions". Una vez reevaluadas, no debería ser necesario volver a evaluar las cotizaciones nuevas a menos que se apliquen otras restricciones (como que la oferta haya vencido).
También es necesario reevaluar una oferta si desea modificar alguna opción específica del producto, la frecuencia de pago o la fecha de vigencia.
Catálogos relacionados:
curl --request POST \
"https://dev.apiersm.net/ersmtarificador/polizas/pre-emitir" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2_user\": \"usuario@ersm.net\",
\"id\": 282853,
\"mainQuoteId\": \"Q5888384\",
\"options\": [
\"ut\"
],
\"paymentMethod\": \"Company\",
\"paymentFrequency\": \"Annual\",
\"effectiveDate\": \"2026-03-16\",
\"addonQuotes\": [
\"nihil\"
]
}"
{
"status": 200,
"content": {
"policyQuoteId": "PQ938483",
"status": "PreIssued",
"message": "Policy pre-issued successfully"
}
}
La presentación de una solicitud de póliza de seguro representa la intención de formalizar una cotización en una póliza de seguro.
Mediante esta operación se pueden formalizar las cotizaciones incluidas en una oferta de seguro en pólizas de seguro. La solicitud del producto principal se presentará en primer lugar y, si se acepta, las solicitudes de los complementos se presentarán a continuación.
Para las afinaciones (options) ver: Pólizas/Afinaciones
curl --request POST \
"https://dev.apiersm.net/ersmtarificador/polizas/solicitud" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2_user\": \"usuario@ersm.net\",
\"id\": 282853,
\"mainQuoteId\": \"Q5888384\",
\"options\": [
\"illo\"
],
\"iban\": \"ES9620763130831674997760\"
}"
Generalmente, las solicitudes de pólizas de seguro se aprueban o rechazan dependiendo de si cumplen con las validaciones finales realizadas por las aseguradoras.
Sin embargo, también pueden aceptarse solicitudes, pero quedar pendientes de revisión de elegibilidad o requerir la intervención manual del corredor (a través de ASM o la web de la aseguradora).
Además, en ciertos casos, las aseguradoras pueden decidir no aceptar ni rechazar la solicitud, pero proponer ciertos cambios a la cotización, generalmente en forma de una nueva prima. En este caso, se devuelve el estado "Cotización Revisada" junto con una Cotización Revisada que incorpora las modificaciones propuestas. Estos cambios deben revisarse cuidadosamente y, si se aceptan, se debe ejecutar una nueva solicitud de envío de solicitudes de pólizas de seguro, especificando la cotización revisada en lugar de la original como la cotización original de la solicitud.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/polizas/recupera-solicitud" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"id\": \"31510918\",
\"policyApplicationsId\": \"I4859756\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6InREV1EyeVZNaVJvbms3ejc4Mzh5K0E9PSIsInZhbHVlIjoiN3FQaWdQMkluRE9pbFVNYS9KNStsU29hUlU1QmFuSGpzTnhYNzE1MDJzbWlUbTgrR082VExiaU1aUDNNODVHT2FFbUZFTkF1S1dySFJ5VFZWUkhEMmwxdHY4dlpsb0RLMktiWkQ0a01QeTEzeHBwanJQakQzaWw2V1B0UEVGSzMiLCJtYWMiOiJlODdiZGQ0YTlkYzdhNmIyODllYmFiMjU2MDU0MDJiNGJmZDZkYWViYjk0YTczYTBkNTYxNWVjNWYwYmYyMDNlIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6InMraHF6V2RKSXFzbVdpT21TZ1RxRkE9PSIsInZhbHVlIjoiS2lWTmdrZ25TMkV6M2dOSTZBNnd6UE1Wa2lSV2ZXTVNVTmN3MkNEMTRHUnFsNTJvc2F5VUFPUWorUzFPTkMxRmllQUxFbVVCUmtUcWJWcEtvV25xODFJQmpvSTJTYUF4Rm9wQUdzOGl2MElUbCtxWnJ2eS9PeEVFRjh6Ri9oMDAiLCJtYWMiOiJjZGRkYTNkZDI1M2Q2MTdmOTIzM2UxZTE2MTgxYTZkZWU5ZDlmYzMwZTMwNDQwOGM4YjgwOGY0M2M2ZjAxYzkzIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
Enumera los estados de solicitud de pólizas de seguro.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/polizas/estado-polizas" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2User\": \"usuario@ersm.net\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6Inp6VlJwQktKcHJ6a1c0cEViYzB2SXc9PSIsInZhbHVlIjoiV05TcGJQZEdRWHJwR05COXpLYnRYQzdaNy9NUm40bkxCSk5iR3J5Z0JxOEp6bGNYeXU2c3lkUXVPVTJ0VHJUWmJzc2NHYnVqQTdFYjVzOXhHb1poeldOajVHYXBIZ3hTS2FSRmp5UmJWSHVub2NCaTd1Z3FPdnI2dU5TQ0dpdDgiLCJtYWMiOiJkNDg0MjE0M2VhZGZkOTNlMDA4MzllMGExNWVhMWEwZmVjNGIzOWQyMjJmZjE1ZDQ3ZTdlOGMzMWU3YzhlNDYyIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6IlRxZTkyUHFUSytKMHBiSVZ5WGtNOEE9PSIsInZhbHVlIjoid0VoclFjUUZ2czY0c2dueStjUjdUSktJUkdNZGVxd1NQVWFTZFpHSGZ3TE9xOGJyWU9rU1ZhaVh4NlRURk50bEx3Y1RBWi85NlRyMnd4R3lEMnUyeXY2eTZ4ZWlpYnVUbFpqR2JhYVhnVXlTNzFzOW1SaGZuT3NPNXNlWGdWc1kiLCJtYWMiOiIwY2RjYWUyMjQ5M2I5MzJiYTMxNDJmYjZiMDM3NDJkZjRhZTdmY2QyZjkzMzBlNDJlZTFmNjMzNmNiMDE0MWQzIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
Descarga de pólizas, certificados o cualquier documentación generada en una respuesta de tarificación y/o pre-emisiones y emisiones.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/polizas/descargas" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6IjJTd2FNNnNWbW9aZ0xpU3ZPRkl2Q0E9PSIsInZhbHVlIjoiQTUwMUV3OFZibjFaU2oraHVsbDVXNTVXNWNkUHBYVlYxZ1ZYZHNCSkFjbER1R3FlSTJhWWE3a2lSSGdNbCtYZ2tMOGx3RE5wQ1dBSnhSbHlscXRGU3k2cVhzYm03T1FIK0FNdFdaUFJWSWtSSVhhUDBkRHV1UW82SFB2Y0dYQnciLCJtYWMiOiI1YjUwYWI0MzUzYjlkZTdiZDY4MmM0YmI0MmRhMjc0ZGMwZDFlNjU3YzIyZmFkNWE3ODIyYjc5NmFjYjA5MDljIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6ImY3Ly9HVTdPYTBZb0wwcWc1cHdobHc9PSIsInZhbHVlIjoiTXZEak1pL0Q1dkVrSDV4MGZiRnVOU1dRNlk1MHZNVnNDeHljVnRoMGRiOFEya2FLMWhzU2oyLzZOdk1uVUpDWG9FWUQ5aHAvZEZnbzB5dE45SXorcWdHdGlOWTc3aXlzMW9QQkNCSVpqQ0p0Z0ZjTVpGZDFWK3I2OVF0RzBoNHoiLCJtYWMiOiI3YWI5NGRlZGUxN2ZlMWI4MGZjZDdiNzA1MjIxOTQ1ZjUyMzk2N2I2ZGQ1ZTAwMTg3OWVmZDEyOGZkYWYyMDc0IiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
curl --request POST \
"https://dev.apiersm.net/ersmtarificador/polizas/personalizacion" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" Hay muchos productos disponibles en la plataforma Avant2. La mayoría define un conjunto de opciones específicas que deben proporcionarse para completar la calificación del riesgo cubierto por el seguro. Estas opciones las definen los propios proveedores y varían considerablemente de un proveedor a otro, e incluso, en ocasiones, entre productos del mismo proveedor.
Recopilar estas opciones en una aplicación front-end y mantener estos formularios cada vez que el proveedor introduce cambios en el producto resultaría muy engorroso y costoso para los usuarios de esta API.
Para evitar esta carga, se proporciona una biblioteca JavaScript que se integra fácilmente en aplicaciones front-end para representar cualquier formulario de producto dentro de un iframe y permitir que los usuarios interactúen con él para seleccionar las opciones adecuadas para el seguro.
Al utilizar la biblioteca JavaScript de Afinaciones, los usuarios podrán introducir las opciones específicas de cada producto y obtener el resultado como un objeto JSON que puede utilizarse para:
Esta biblioteca se actualizará periódicamente para reflejar los cambios en los productos, de modo que siempre esté sincronizada con los requisitos del proveedor.
<script async src="https://product-form.avant.codeoscopic.io/js.js"></script>
En el frontend se deben tener identificados dos contenedores:
En ellos se mostrarán los errores del iframe y el JSON con el resultado de los valores escogidos.
<div class="panel-body" style="background: #fff">
<div id="product-form-wrapper" style="display: none">
<div class="px-4">
<div class="card" id="product-form-card">
<div class="card-body">
<div id="product-form-iframe"></div>
</div>
</div>
</div>
<div class="px-4 pt-2 pb-5">
<div id="alert-error" class="alert alert-danger" style="display: none" ></div>
</div>
</div>
</div>
<input type=”hidden” id=”product-options” name=”product-options” value=””>
const alertErrorEl = document.getElementById("alert-error");
const productOptionsViewerEl = document.getElementById(
"product-options"
);
let productOptionsEditor;
async function getProductFormOptions() {
alertErrorEl.style.display = "none";
let values;
try {
values = await productForm.getProductOptions(
} catch (error) {
alertErrorEl.innerHTML = "There are some validation errors.";
alertErrorEl.style.display = "block";
return false;
}
productOptionsViewerEl.value = JSON.stringify(values);
return true;
}
async function renderProductForm() {
const formTypeEl = 'ReRating'; /Tipo de formulario
const productFormCardEl = document.getElementById("product-form-card");
const productFormWrapperEl = document.getElementById(
"product-form-wrapper"
);
try {
productFormWrapperEl.style.display = "block";
alertErrorEl.style.display = "none";
productFormCardEl.style.display = "block";
const quote = JSON.parse('{"id":"Q1714312775"}');
console.log("Using quote object:", quote);
// Call render method with quote object
await productForm.render(quote, formTypeEl);
//getOptionsBtn.disabled = false;
} catch (error) {
alertErrorEl.innerHTML = `Error: ${error}`;
alertErrorEl.style.display = "block";
productFormCardEl.style.display = "none";
} finally {
//renderProductFormBtn.disabled = false;
}
}
let productForm, quoteEditor;
window.avantProductFormInit = () => {
productForm = new AvantProductForm(
"product-form-iframe",
(request) => {
return fetch("https://apiersm.net/ersmtarificador/polizas/product-form", {
method: "POST",
body: '{"method":"POST","path":"/product-form/init-data","quote":"Q1714312775","formType":"ReRating","avant2User":"usuario@ersm.net"}',
headers: {
"Content-Type": "application/json",
"Accept-Version": "1.0",
"Authorization": "Bearer {api_login_bearer}"
}
}).then(async (res) => {
const response = await res.json();
if (res.status === 200) {
return response;
}
throw new Error(String(response.message || response.error));
});
}
);
};
El formulario dibujará las opciones específicas del producto seleccionado.
El JSON obtenido en el objeto product-options es el que debe enviarse en el campo options dentro de:
{
"method": "POST",
"path": "/product-form/init-data",
"quote": "Q1714312775",
"formType": "ReRating",
"avant2User": "usuario@ersm.net"
}
curl --request POST \
"https://dev.apiersm.net/ersmtarificador/polizas/product-form" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"method\": \"POST\",
\"path\": \"\\/product-form\\/init-data\",
\"quote\": \"Q1714312775\",
\"formType\": \"ReRating\",
\"avant2User\": \"usuario@ersm.net\"
}"
Descarga los documentos adjuntos en los resultados de Pólizas o Pre-emisiones
curl --request POST \
"https://dev.apiersm.net/ersmtarificador/polizas/documentos-solicitud" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" Listados
Lista de las compañías aseguradoras totales con las que trabaja el tarificador.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/listados/aseguradoras" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": 1,
"name": "Axa",
"description": "Axa Seguros",
"imageUrl": "https://app.avant2.es/assets/company/1/logo.svg"
},
{
"id": 2,
"name": "Allianz",
"description": "Allianz Seguros",
"imageUrl": "https://app.avant2.es/assets/company/2/logo.svg"
}
]
}
Listado de líneas de seguro que tiene asignadas a su usuario.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/listados/tipos-de-seguros" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6Ik55cUVmOXFla1VZVXorZmlKSjRUN1E9PSIsInZhbHVlIjoiQzZaanJQaW9sSWlWRXVqYjJuUElEY2FVY3BGZ2FRTFp5Q3ZFQjNtN3krbDRqK2JPQ01ZbFJzb2RmM3dzS1I3T3BPU3NueUlLRzFUZnhhVnBSSlQ4SDROenIzMTArQU9UN1I1RHk2R2YvL2tEMFpNMkw3ZGVGek1LMGFXWC84YW0iLCJtYWMiOiJlNTcwYTdmNWE0MGNiYWI3NjllMjE5YzQ2Mjc0ZTY1ZWI2NjQyNDJjODFkYTRiNDIyYzY4MmI3ODlmZDY3NTE2IiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6Ik54a2ppYk95SnZEV2MxMnV4eVh3U1E9PSIsInZhbHVlIjoiNUxSdEJqZS8xS0FjSGtodFR3OEUzQ2FpQmduWEs5MzMrREYxam1wZUtNRndYYkFiQ2daOSsxakN5bUlKQjZGQ2p3cmVaUFNqcWxkMDEvdU9JZmkxVlhZVk15cm1sc2F5S2RMcWxJQjlKK3c5aGlEOWNrVG5KN1hzT0ZsWmxIY00iLCJtYWMiOiJmMTlmZWUxM2YzNDdhMWQ0ZmU1YmUwZTMxZDhmYzg5OTM0YjFmODcyODdmNzk4M2VkMmYzMWYzNThjMThlMjI0IiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:32 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
Devuelve un listado de proyectos realizados, filtrados por usuario y fechas.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/listados/proyectos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2User\": \"usuario@ersm.net\",
\"fromDate\": \"2026-01-01\",
\"toDate\": \"2026-01-01\",
\"pageNumber\": 1,
\"pageSize\": 50,
\"holderIdentification\": \"00000000A\",
\"policyApplicationSubmitted\": false
}"
{
"status": 200,
"totalSize": 327,
"totalPages": 164,
"currentPage": 1,
"content": [
{
"id": 33049254,
"creationDateTime": "2025-05-08T19:10:54.000+02:00",
"holder": {
"identification": "72080876A",
"name": "Jesus",
"surname": "Garcia"
},
"risk": {
"summary": "Matrícula: 1827NBN"
}
}
]
}
Obtiene el listado de productos asignados al usuario para una línea de seguros específica.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/listados/productos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2_user\": \"usuario@ersm.net\",
\"insuranceLine\": \"\\\"car\\\", \\\"motorcycle\\\"\"
}"
{
"status": 200,
"content": [
{
"id": 4,
"name": "Pelayo Autos",
"imageUrl": "https://app.avant2.es/assets/company/3/logo.svg",
"configs": [
{
"id": 203505,
"name": "30270200 - PELAYO ERSM VERDE"
}
],
"supports": {
"policyApplication": true
}
}
]
}
Endpoints relacionados con datos referentes a Personas
Lista de idiomas que pueden ser utilizados para contactar con una persona.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/persona/idiomas" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "en",
"name": "Inglés"
},
{
"id": "es",
"name": "Español (España)"
},
{
"id": "es_CL",
"name": "Español (Chile)"
}
]
}
Lista de estados de inactividad según el INE
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/persona/estado-inactividad" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Student",
"name": "Estudiante"
},
{
"id": "RetiredPensioner",
"name": "Jubilado o prejubilado"
},
{
"id": "HouseholdOrFamilyDuties",
"name": "Labores del hogar"
}
]
}
Lista de la Clasificación Nacional de Ocupaciones 2011 (CNO-11)
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/persona/ocupaciones" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"code": "2140",
"name": "Farmacéuticos",
"mainGroup": {
"code": "B",
"name": "Técnicos y profesionales científicos e intelectuales"
}
}
]
}
Lista de los estados laborales según se establece en ILOSTAT.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/persona/estado-laboral" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Employee",
"name": "Empleados"
},
{
"id": "Employer",
"name": "Empresarios"
},
{
"id": "OwnAccountWorker",
"name": "Autónomos"
}
]
}
Lista de géneros
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/persona/generos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Male",
"name": "Hombre"
},
{
"id": "Female",
"name": "Mujer"
}
]
}
Lista de los tipos de identificación para personas físicas y jurídicas.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/persona/tipos-de-documentos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Dni",
"name": "DNI",
"description": "Documento Nacional de Identidad",
"pattern": "^\\d{8}[A-HJ-NP-TV-Z]$"
},
{
"id": "Nie",
"name": "NIE",
"description": "Número de Identidad de Extranjero",
"pattern": "^[XYZxyz]\\d{7}[A-Za-z]$"
}
]
}
Lista de los diferentes tipos de estados civiles.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/persona/estado-civil" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Married",
"name": "Casado"
},
{
"id": "Divorced",
"name": "Divorciado"
},
{
"id": "Single",
"name": "Soltero"
}
]
}
Endpoints relacionados con Lugares, Provincias...
Devuelve el listado de países gestionados por el tarificador.
No requiere parámetros de entrada.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/lugar/paises" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"code": "ESP",
"name": "España"
},
{
"code": "FRA",
"name": "Francia"
}
]
}
Devuelve el listado completo de provincias.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/lugar/provincias" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "08",
"name": "BARCELONA"
},
{
"id": "28",
"name": "MADRID"
}
]
}
Devuelve las poblaciones asociadas a una provincia.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/lugar/poblaciones" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"provincia_id\": \"08\"
}"
{
"status": 200,
"content": [
{
"id": "208",
"name": "SANT ESTEVE SESROVIRES"
},
{
"id": "209",
"name": "SANT FOST DE CAMPSENTELLES"
}
]
}
Devuelve el catálogo de tipos de vía.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/lugar/tipos-de-calle" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Calle",
"name": "Calle"
},
{
"id": "Avenida",
"name": "Avenida"
}
]
}
Devuelve las ciudades asociadas a un código postal de España.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/lugar/ciudades" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"cod_postal\": \"08940\"
}"
{
"status": 200,
"content": [
{
"id": 4047,
"name": "CORNELLA DE LLOBREGAT",
"province": {
"id": 8,
"name": "BARCELONA"
},
"municipality": {
"id": "073"
}
}
]
}
Endpoints relacionados con Pagos
Devuelve las diferentes frecuencias de pago disponibles para el producto seleccionado.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/pago/frecuencia" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"quoteId\": \"Q1714312775\"
}"
{
"status": 200,
"content": [
{
"id": "Annual",
"name": "Anual",
"description": "Una vez al año",
"installments": 1
},
{
"id": "ThreeMonth",
"name": "Trimestral",
"description": "Cada 3 meses",
"installments": 4
}
]
}
Devuelve las formas de pago disponibles para el producto seleccionado.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/pago/forma" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"quoteId\": \"Q1714312775\"
}"
{
"status": 200,
"content": [
{
"id": "Company",
"name": "Compañía",
"description": "Bancario por la compañía de seguros",
"default": true
}
]
}
Endpoints relacionados con Automóviles
Devuelve las marcas de vehículos disponibles.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/marcas" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"onlyPopular\": \"\\\"true\\\"\"
}"
{
"status": 200,
"content": [
{
"id": 8,
"name": "AUDI"
},
{
"id": 13,
"name": "BMW"
}
]
}
Devuelve los modelos asociados a una marca.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/modelos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"marca_id\": 1944
}"
{
"status": 200,
"content": [
{
"id": 14220,
"name": "FORMENTOR"
},
{
"id": 14281,
"name": "LEON"
}
]
}
Lista de versiones de vehículos de la marca y modelos proporcionados. Se pueden utilizar los filtros opcionales para acotar la lista de resultados.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/versiones" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"marca_id\": 1944,
\"modelo_id\": 14220,
\"combustible\": \"Gasoline\",
\"minCV\": 100,
\"maxCV\": 250,
\"minCC\": 1200,
\"maxCC\": 2000
}"
{
"status": 200,
"content": [
{
"code": "20490020018",
"name": "1.4TSI E-HYBRID DSG TECH",
"engine": {
"displacement": 1395,
"powerCv": 204
},
"doors": 5,
"seats": 5
}
]
}
Lista las zonas válidas para la expedición de la licencia de conducción.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/zonas-expedicion-licencia" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Spain",
"name": "España"
},
{
"id": "RestEU",
"name": "Resto de la UE"
}
]
}
Devuelve los tipos de licencia de conducción.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/licencias" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "B",
"name": "B",
"minAge": 18
}
]
}
Devuelve los tipos de combustible disponibles.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/motores" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Gasoline",
"name": "Gasolina"
},
{
"id": "Diesel",
"name": "Diesel"
}
]
}
Devuelve los tipos de aparcamiento disponibles.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/aparcamientos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "NoGarage",
"name": "Vía pública"
},
{
"id": "PrivateGarage",
"name": "Garaje individual"
}
]
}
Lista las Compañías Aseguradoras del grupo Automóviles relacionadas con su usuario.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/aseguradoras" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"code": "C0109",
"name": "ALLIANZ"
},
{
"code": "C0723",
"name": "AXA"
}
]
}
Devuelve la fecha de primera matriculación del vehículo.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/fecha_matricula" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"matricula\": \"8765KJC\"
}"
{
"status": 200,
"content": {
"date": "2018-03-08"
}
}
Lista de complementos del vehículo
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/complementos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"base7\": \"20490020008\"
}"
{
"status": 200,
"content": [
{
"id": "153311",
"isPack": false,
"description": "SOUND & SHINE PACK..."
}
]
}
Lista de los diferentes productos por compañía aseguradora disponibles en esta línea de seguros
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/listado-productos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": 14,
"name": "Mapfre Autos",
"configs": [
{
"id": 309324,
"name": "MAPFRE EBRO FINANCIADO 1",
"favorite": false
}
]
}
]
}
Lista los roles de las personas participantes en el seguro. Puede haber diferentes personas involucradas en un seguro y cada persona puede desempeñar un solo rol o múltiples roles dependiendo de la línea de seguro: tomador, asegurado, propietario, etc.
Para construir una solicitud de cotización o una solicitud de póliza de seguro, necesitarás saber qué roles deben cumplimentarse y qué campos son requeridos para cada uno de ellos.
Puedes usar esta operación para obtener esa información.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/autos/roles-personas" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2_user\": \"usuario@ersm.net\",
\"offer_id\": 1772589354,
\"holderJuridicalPerson\": false
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6IldYTlBkUnJrN1FueURQZnpLYTlWaWc9PSIsInZhbHVlIjoicndRa1FUUXlKaEZLWkZhRHhvRGdEVEl0UVhHdi9TL2JkR25kWGhzVys2WHBMN01jWEY4Q1lQS1ZIV2JQbDNuakhrbG9EOXdTQ2g0WU9FUldicDBOR0xmb2pCWExpbGpvVDdPTCtvMlJSa0I5aW45dmcyL09yamN1eEhFODc4UmwiLCJtYWMiOiIxMGIyODE0MjUxMTUyY2UzZjEwZjg0ZjEzNzUzMzdkZmQ1OTViMjRlMWU1MDQ1YTZjODZlZjkyM2NlZDMyYzE5IiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:33 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6ImVzWCtwMGtXY0dhU2xUcGZOSlR2NEE9PSIsInZhbHVlIjoidld0RUcwMTZ2b3ZialB1SEErNFljY2VYcEJJYStDcklOYnEveS9pYnN2Vks0VzladXBRMnpKditmdm56dlROVUY2VkxuSTNFN0U0dkZFRCtsdXZuL0NZRzhtRU1xU0trcHBPZXE3RUxzdG1lWlJKMitReGJpbFRoM0d3cTdkdXQiLCJtYWMiOiJlNTcxZWYxNWFjODMzYjI4OTI5NjVjYjJmOTM0MDI3OWM2MjA1ZWJlNDM0ZjA0ZjUxOWFhNmFlYjNkOTY3NTg4IiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:33 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}
Endpoints relacionados con Motocicletas
Devuelve las marcas de motocicletas disponibles.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/marcas" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"onlyPopular\": true
}"
{
"status": 200,
"content": [
{
"id": 166,
"name": "APRILIA"
},
{
"id": 13,
"name": "BMW"
}
]
}
Devuelve los modelos de motocicleta asociados a una marca.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/modelos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"marca_id\": 26
}"
{
"status": 200,
"content": [
{
"id": 15165,
"name": "ADV"
},
{
"id": 12299,
"name": "AFRICA TWIN"
}
]
}
Lista de versiones de vehículos de la marca y modelos proporcionados. Se pueden utilizar los filtros opcionales para acotar la lista de resultados.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/versiones" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"marca_id\": 26,
\"modelo_id\": 16001,
\"combustible\": \"Others\",
\"minCV\": 2,
\"maxCV\": 100,
\"minCC\": 50,
\"maxCC\": 1000
}"
{
"status": 200,
"content": [
{
"code": "00265460001",
"name": "ELECTRIC",
"engine": {
"powerCv": 2,
"powerKw": 1.7
},
"seats": 2,
"releaseMarketDate": "2023-09-01"
}
]
}
Devuelve las zonas válidas para la expedición de la licencia de conducción.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/zonas-expedicion-licencia" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Spain",
"name": "España"
},
{
"id": "RestWorld",
"name": "Resto del mundo"
}
]
}
Devuelve los tipos de licencia válidos para motocicletas.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/licencias" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "A",
"name": "A",
"minAge": 20
},
{
"id": "A1",
"name": "A1",
"minAge": 16,
"maxDisplacement": 125
}
]
}
Devuelve los tipos de experiencia del conductor con motocicletas.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/experiencia" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "NoExperience",
"name": "Sin Experiencia"
},
{
"id": "OtherMotorcycle",
"name": "Otra Motocicleta"
}
]
}
Devuelve los tipos de combustible disponibles para motocicletas.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/motores" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "Gasoline",
"name": "Gasolina"
},
{
"id": "Others",
"name": "Otro"
}
]
}
Devuelve los tipos de aparcamiento disponibles para motocicletas.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/aparcamientos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": "NoGarage",
"name": "Vía pública"
},
{
"id": "PrivateGarage",
"name": "Garaje individual"
}
]
}
Devuelve las compañías aseguradoras disponibles para motos.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/aseguradoras" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"code": "C0109",
"name": "ALLIANZ"
},
{
"code": "C0723",
"name": "AXA"
}
]
}
Devuelve la fecha de primera matriculación de la motocicleta.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/fecha_matricula" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"matricula\": \"8765KJC\"
}"
{
"status": 200,
"content": {
"date": "2018-03-08"
}
}
Devuelve los productos disponibles por aseguradora para motos.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/listado-productos" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" {
"status": 200,
"content": [
{
"id": 231,
"name": "Axa Seguros Motos 2025",
"configs": [
{
"id": 303454,
"name": "756741 - AXA SEGUCAR",
"favorite": false
}
]
}
]
}
Lista los roles de las personas participantes en el seguro. Puede haber diferentes personas involucradas en un seguro y cada persona puede desempeñar un solo rol o múltiples roles dependiendo de la línea de seguro: tomador, asegurado, propietario, etc.
Para construir una solicitud de cotización o una solicitud de póliza de seguro, necesitarás saber qué roles deben cumplimentarse y qué campos son requeridos para cada uno de ellos.
Puedes usar esta operación para obtener esa información.
curl --request GET \
--get "https://dev.apiersm.net/ersmtarificador/catalogos/motos/roles-personas" \
--header "Authorization: Bearer {ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept-Version: 1.0" \
--data "{
\"avant2_user\": \"usuario@ersm.net\",
\"offer_id\": 1772589354,
\"holderJuridicalPerson\": false
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: XSRF-TOKEN=eyJpdiI6InNxT3psUUE2WUhTTks1SXM3REx2Q0E9PSIsInZhbHVlIjoidkxPc2x5OFM5Z2tRaXJwYi9Hc1MwTG5KRjZKTDBVSlQ5cmtuQnJDa092KzlLMEdjQ1hlWU01ckFqRVJxeWloRi8ycUNlODJUNmZmK0RGd0IwRzdOTmdHL2dhRlF6QlcrUCtMZVF2bFZsYWFSTnVMSnFuTElGVVV6aUxiM0psYTYiLCJtYWMiOiJjNTQ4YjRkMmE3MmU4NDkyOTZlNGVjY2Q2NDhlNjBmODA5ZTQ5NDFlN2ExMjFjNjhkM2M0MDAxZWE0YjM2ZGIwIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:33 GMT; Max-Age=7200; path=/; secure; samesite=lax; ersm_api_rest_server_session=eyJpdiI6IkFFTG1BaVlVbnF1aFJhdCtnSnFGc2c9PSIsInZhbHVlIjoiSVhyV2tCZzhYWlZhcTdaY3hERWFFYW9FUnlSV0RHd3hYR3czWGZ3cmNOZmFjbWpYamRNVWJER0s1K21FbFlsejBCSDJ3Tjd3UElaL1dQSGJ4d1ZiWTNTdnM2ZmlPdGJsUk5xRzdqWWJua0JpMXBtWThBRDhHR0dLOG5kREphN3MiLCJtYWMiOiJiM2YwZTc1MWVjYTE4YTIzODc3NDEzMTJlODc0MDcwOGRhYWEwMDVhMWUxNmJmNWU2ZDRiNTQ5MTY3ZTkzZjZiIiwidGFnIjoiIn0%3D; expires=Fri, 17 Apr 2026 00:44:33 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax
{
"error": "Unauthenticated: Your token is invalid."
}