> ## Documentation Index
> Fetch the complete documentation index at: https://developers.insuranceboosters.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agente de IA: Emisión RC Profesional en GNP

> Cotiza RC Profesional en GNP y, solo con confirmación explícita, emite la póliza.

El paso `gnp.issue-policy-rc-professional` prepara una cotización de
Responsabilidad Civil Profesional en GNP. Usa una credencial `gnp.portal` del
mismo tenant y, de forma segura, se detiene en la revisión final.

<Warning>
  Emitir una póliza es irreversible. `confirmarEmision` vale `false` de forma
  predeterminada. Cámbialo a `true` únicamente después de validar todos los
  datos: autoriza una sola activación del botón final de emisión y no se
  reintenta ante un resultado incierto.
</Warning>

## Campos del paso

| Campo | Requerido | Descripción |
| - | - | - |
| `actionKey` | Sí | Debe ser `gnp.issue-policy-rc-professional`. |
| `credentialId` | Sí | ID de una credencial `gnp.portal` del mismo tenant. |
| `nombreAsegurado` | Sí | Nombre del asegurado o negocio. |
| `profesion` | Sí | Una de las cuatro profesiones oficiales indicadas abajo. |
| `actividad` | Condicional | Obligatoria para profesiones distintas de salud/veterinaria. |
| `especialidad` | Condicional | Obligatoria para salud/veterinaria. |
| `realizaCirugiasMetodosInvasivos` | Condicional | `Sí` o `No`; obligatorio para salud/veterinaria. |
| `inicioVigencia` | No | Fecha `YYYY-MM-DD`; si se omite, usa la fecha de ejecución. |
| `moneda` | Sí | `Pesos` o `Dólares`. |
| `sumaAsegurada` | Sí | Número mayor que cero. |
| `periodicidadPago` | Sí | `Mensual`, `Trimestral`, `Semestral` o `Anual`. |
| `plan` | Sí | `Esencial`, `Vital` o `Plus`. |
| `cesionComision` | No | Porcentaje de 0 a 100; predeterminado `0`. |
| `contratante` | Sí | Persona física con contacto y domicilios. |
| `medical` | Condicional | Obligatorio para salud/veterinaria. |
| `aseguradoEsContratante` | No | Predeterminado `true`. |
| `aseguradoSeparado` | Condicional | Obligatorio si `aseguradoEsContratante` es `false`; no se admite si es `true`. |
| `folioAgente` | Sí | Folio exacto del catálogo del portal; nunca se selecciona la primera opción por aproximación. |
| `confirmarEmision` | No | Predeterminado `false`. Solo `true` autoriza la emisión irreversible. |
| `name` | No | Nombre legible del paso. |

Valores aceptados para `profesion`:

* `RC Profesional Agentes de Seguros y/o de Fianzas`
* `RC Profesional para Profesionistas de la Salud y Veterinarios`
* `RC Profesional para Ingenieros y/o Arquitectos`
* `RC Profesional Otras Profesiones`

`medical` requiere `tipoMedico`, `tipoHospital` (`Público` o `Privado`),
`cedulaProfesional`, `anioOtorgamiento` y `aniosPractica`.

## Personas y domicilios

Tanto `contratante` como `aseguradoSeparado` usan la misma estructura:

| Campo | Requerido | Descripción |
| - | - | - |
| `nombre`, `primerApellido` | Sí | Nombre y primer apellido. |
| `segundoApellido` | No | Segundo apellido. |
| `fechaNacimiento` | Sí | Fecha `YYYY-MM-DD`. |
| `rfc` | Sí | RFC de 12 o 13 caracteres. |
| `curp`, `ocupacion` | No | Datos adicionales de la persona. |
| `regimenFiscal`, `nacionalidad`, `paisOrigen` | Sí | Valores exactos de los catálogos de GNP. |
| `genero` | Sí | `Femenino` o `Masculino`. |
| `domicilioParticular` | Sí | Domicilio particular, siempre separado en el payload. |
| `fiscalIgualParticular` | No | Predeterminado `true`. |
| `domicilioFiscal` | Condicional | Obligatorio si `fiscalIgualParticular` es `false`; se rechaza si es `true`. |
| `tipoTelefono`, `telefono`, `correoElectronico` | Sí | Tipo, teléfono de al menos 10 dígitos y correo válido. |

Cada domicilio requiere `tipoVia`, `calle`, `numeroExterior`,
`codigoPostal` de cinco dígitos y `colonia`; `numeroInterior` es opcional.
Aunque los domicilios asegurado y fiscal tengan los mismos valores, no los
mezcles: `domicilioParticular` y `domicilioFiscal` representan decisiones
distintas del portal.

## Ejemplo seguro

```json theme={null}
{
  "name": "Preparar RC Profesional",
  "actionKey": "gnp.issue-policy-rc-professional",
  "credentialId": "cred_0123456789ab",
  "nombreAsegurado": "Consultorio Ejemplo",
  "profesion": "RC Profesional Otras Profesiones",
  "actividad": "Consultoría",
  "moneda": "Pesos",
  "sumaAsegurada": 1000000,
  "periodicidadPago": "Anual",
  "plan": "Esencial",
  "contratante": {
    "nombre": "Ana",
    "primerApellido": "Pérez",
    "fechaNacimiento": "1985-04-12",
    "rfc": "PEAA850412AB1",
    "regimenFiscal": "Sueldos y Salarios",
    "nacionalidad": "Mexicana",
    "paisOrigen": "México",
    "genero": "Femenino",
    "domicilioParticular": {
      "tipoVia": "Calle",
      "calle": "Reforma",
      "numeroExterior": "100",
      "codigoPostal": "06600",
      "colonia": "Juárez"
    },
    "tipoTelefono": "Celular",
    "telefono": "5512345678",
    "correoElectronico": "ana@example.com"
  },
  "folioAgente": "P12345",
  "confirmarEmision": false
}
```

Los campos admitidos por el registro pueden usar plantillas `{{...}}`. Las
plantillas deben resolver al tipo indicado antes de abrir GNP.

## Selección y fallback

El paso primero usa selectores deterministas y exige coincidencias exactas en
catálogos, radios, plan y folio. Si un control permitido cambió, puede usar un
fallback asistido acotado y después vuelve a verificar el mismo valor. Nunca
usa IA para elegir una opción aproximada, introducir credenciales o datos
personales, generar el folio, ni pulsar el botón irreversible. La emisión final
no tiene fallback ni reintento.

## Output

Con `confirmarEmision:false`, devuelve:

```json theme={null}
{
  "status": "ready_for_final_issuance",
  "insurer": "GNP",
  "quote_folio": "<folio-cotización>",
  "agent_folio": "P12345",
  "currency": "MXN",
  "sum_insured": 1000000,
  "payment_frequency": "Anual",
  "plan": "Esencial",
  "premium": 9256,
  "coverage": [{ "name": "<cobertura>", "value": "<valor>" }],
  "policy_issued": false
}
```

Con confirmación explícita, `status` es `policy_issued`,
`policy_issued` es `true` y el resultado incluye al menos `policy_number` o
`issuance_folio`. Puede incluir `document_url` o `document_file` cuando el
portal ofrece un PDF verificable. Ambas variantes incluyen cotización, folio
de agente, moneda, suma asegurada, periodicidad, plan, prima y coberturas.

Si el portal no confirma de forma definitiva la emisión y su identificador, el
paso falla con resultado incierto y no vuelve a pulsar `Emitir`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.