Todas las preguntas del formulario de registro de eventos, con su tipo, reglas, dependencias, y por cada lista: si se lee de una tabla o está escrita en el código, y el valor que se guarda (no solo la etiqueta que se ve). Pensado para que el scraper produzca datos que el sistema acepte sin curación extra.
inteligencia-artificial). El scraper debe enviar el valor almacenado.pais_code (nombre engañoso). Ejemplos guardados: Colombia, Brasil, Estados Unidos, México. Si el nombre no está en el catálogo oficial, el registro se rechaza (salvo eventos online).El evento_codigo tiene la forma letra-PAIS-TTT-AA-NNNNN[-SIGLA-AA]. Lo genera el sistema al enviar; el scraper no lo manda. Se compone de:
| Parte | De dónde sale |
|---|---|
| letra | Modalidad: presencial P, online V, híbrido H, dual D. |
| PAIS (2) | ISO alpha-2 del país (online = 00). |
| TTT (3) | Código de la temática principal (la marcada como principal en la lista de temáticas). |
| AA (2) | Últimos dos dígitos del año de la fecha de inicio. |
| NNNNN (5) | Consecutivo anual, atómico. |
| SIGLA | Solo si se asocia a un superevento: mnemotécnico + año del superevento. |
horarios: [ { "fecha": "2026-08-12", "hora_inicio": "16:00", "hora_fin": "17:00" } ]
tematicas: [ { "categoria": "estrategia-gestion", "subcategoria": "finanzas", "principal": true } ]
// exactamente UNA con "principal": true
actividades: [ { "categoria": "academica", "subcategoria": "conferencia" } ]
organizadores_raw: [ { "nombre": "Innpulsa", "rol": "Aceleradora" } ]
// rol opcional: usar un valor de la lista de roles (punto 06)
hosts_speakers: [ { "email": "a@x.com", "nombres": "Ana", "apellidos": "Ruiz",
"perfil": "Speaker", "linkedin": "https://linkedin.com/in/ana" } ]
// si no hay speakers: [ { "nombres": "Por confirmar", "apellidos": "Por confirmar",
// "perfil": "Por confirmar", "email": "" } ] (o "No Aplica")
Ojo: en temáticas y actividades, categoria y subcategoria son los identificadores (slugs), no las etiquetas. Ver las listas en el punto 06.
El scraper NO envía este paso: el endpoint de ingesta usa una cuenta de sistema y no crea usuarios. Se documenta solo por completitud. Campos: correo (contact_email), nombres (contact_first_name), apellidos (contact_last_name), teléfono (contact_phone, texto combinado tipo "+57 3001234567"). Nota: la columna contact_phone_country_code existe pero el formulario nunca la escribe.
| Campo | Columna | Tipo | Obl. | Fuente / valor | Reglas y dependencias |
|---|---|---|---|---|---|
| Nombre | nombre | texto | Sí | libre | · |
| Superevento | super_evento_id | select | No | Tabla super_eventos (activos) | Si se asocia, las fechas del evento deben caer dentro del período del superevento. |
| Modalidad | modalidad | radio | Sí | Código valores: presencial, online, hibrido, dual | Define qué campos de ubicación y links aparecen. |
| Organizadores (lista) | organizadores_raw | repetible: nombre + rol | ≥1 | rol: Tabla catalogo_rol_ecosistema (punto 06) | Al menos uno con nombre. Si hay nombre, el rol es obligatorio. |
| Fecha inicio | fecha_inicio | fecha | Sí | YYYY-MM-DD | · |
| Fecha fin | fecha_finalizacion | fecha | Sí | YYYY-MM-DD | Debe ser ≥ fecha de inicio. Si va vacía, el sistema la iguala a la de inicio. |
| Zona horaria | zona_horaria | select | Sí | Código IANA, ej. America/Bogota | Default America/Bogota. |
| Horarios por día | horarios | repetible | Sí | ver punto 02 | Una fila por día del rango. hora_fin > hora_inicio. |
| Link de sesión | link_sesion | url | No | · | Solo para modalidades no presenciales (online/híbrido/dual). |
| Dirección o lugar | ubicacion_texto | texto | No | libre | Solo si requiere ubicación (presencial/híbrido/dual). Los placeholders tipo "registrarse para ver" se limpian a nulo. |
| País | pais_code | select | Sí* | Código (espejo de Tabla catalogo_pais). Se guarda el nombre en español. | *Obligatorio salvo online. Debe existir en el catálogo o se rechaza. Ver export de países. |
| Provincia / Depto. | estado_provincia | texto | Sí | libre | En el formulario se autoderiva de la ciudad; en la ingesta lo envías tú. |
| Ciudad | ciudad | texto | Sí | libre (nombre de ciudad) | · |
| Coordenadas | ubicacion_lat / ubicacion_lng | número | No | decimal | Si no las mandas, quedan nulas (el endpoint no geocodifica). |
| Ubicación por confirmar | ubicacion_por_confirmar | booleano | No | true/false | Excluyente con "solo registrados". |
| Campo | Columna | Tipo | Obl. | Fuente / valor | Reglas |
|---|---|---|---|---|---|
| Temáticas (lista) | tematicas | multi + 1 principal | ≥1 | Tabla/doble fuente (punto 06) | Exactamente una con principal:true. La categoría "Sectorial" sale de industrias (export aparte). |
| Actividades (lista) | actividades | multi | ≥1 | Tabla catalogo_actividad_evento (punto 06) | · |
| Speakers / Hosts (lista) | hosts_speakers | repetible | Sí | perfil: Código (punto 06) | Al menos uno completo, o el centinela "Por confirmar" / "No Aplica" (ver punto 02). |
| Costo de inscripción | costo_inscripcion | radio | Sí | Código (punto 06) | Las opciones de entrada libre fuerzan "solo registrados" a falso. |
| Link de registro | link_registro | url | Sí | https://... | · |
| Link al organizador/evento | link_evento | url | No | · | No puede ser igual al de registro. |
| Más información | mas_informacion | texto largo | No | · | Máximo 500 caracteres. |
Aquí el valor guardado y la etiqueta coinciden (se guarda el texto completo).
catalogo_tematica_evento (25) · formato categoría › valor_subcategoría = etiquetaAdemás existe una categoría "Sectorial" con 124 subindustrias (segmentos tech y tradicional). Por su tamaño va en el export: scraper-catalogo-industrias.json (campos sub_valor y sub_label).
catalogo_actividad_evento (27)catalogo_rol_ecosistema (45) · el valor guardado es el texto del rolcatalogo_pais, 207)El valor guardado es el nombre en español (columna valor_almacenado del export). Lista completa con su ISO alpha-2: scraper-catalogo-paises.json. Ejemplos: Colombia, Brasil, Estados Unidos, México, Argentina, Chile, Perú, España.
PENDING (curación). No crea usuarios. No dispara correos al aprobar en lote.(fuente, id_fuente) actualiza, no duplica.| Lista | Origen | Dónde |
|---|---|---|
| Modalidad | Código | eventModalities.ts |
| Costo de inscripción | Código | eventCostOptions.ts |
| Perfil de speaker/host | Código | speakerValidation.ts |
| Zona horaria | Código | timezones.ts (IANA) |
| País | Código espejo de tabla | countries.ts ≅ catalogo_pais (207) |
| Superevento | Tabla | super_eventos (activos) |
| Rol de organizador | Tabla | catalogo_rol_ecosistema (45) |
| Temáticas (no sectoriales) | Doble fuente | catalogo_tematica_evento (25) ≅ eventThemes.ts |
| Temáticas sectoriales | Doble fuente | catalogo_industria+catalogo_sub_industria (124) |
| Actividades | Doble fuente | catalogo_actividad_evento (27) ≅ eventActivities.ts |