API de Enrolamiento
Certificaciones v1

Buscar certificación, especificando un set de filtros.

GET
/v1/certificaciones/buscar/{pagina}/{cantidadPorPagina}

Lista las certificaciones del cliente, de la más reciente a la más antigua (por número de certificación, descendente), de a cantidadPorPagina por página. La respuesta es un array, sin total.

Filtros por query string. El nombre distingue mayúsculas (estado se ignora) y un valor vacío se ignora:

  • Fecha y RUT se aplican antes de paginar.
  • Estado, Estapa y PasoEnSII se aplican después de paginar, sobre la página ya cortada: una página puede traer menos filas que cantidadPorPagina, o ninguna, aunque haya coincidencias en otras páginas. Para filtrar por esos campos sin perder filas, pida las páginas sin ellos y filtre del lado del cliente.

cantidadPorPagina no tiene tope en la API; se recomienda no pasar de 100. pagina menor que 1 produce un 500.

Autorización

basic
headerAuthorizationBasic <token>

Parámetros de ruta

pagina*integer

Página, desde 1. Menor que 1 produce un 500.

Formatoint32
Rango1 <= value
cantidadPorPagina*integer

Filas por página. La API no impone tope; se recomienda no pasar de 100.

Formatoint32

Parámetros de query

Fecha?string

aaaammdd-aaaammdd: certificaciones con algún cambio de estado en el rango. Sin fin, hasta ahora. El fin cuenta desde las 00:00 de ese día, así que el día final queda prácticamente afuera. Se aplica antes de paginar. Formato inválido → 500 del framework.

Patrón^\d{8}(-\d{8})?$
RUT?string

RUT de la empresa, comparado tal cual, sin normalizar: sin puntos, con guion y la K en mayúscula. Se aplica antes de paginar.

Estado?string

Nombre o número de EstadoCertificacion (Creada, EnProgreso, Completada, Error), sensible a mayúsculas; inválido → 500 del framework. Se aplica después de paginar.

Estapa?string

Nombre o número de EtapaCertificacion (VerificacionSII, IngresoDatos, ConfiguracionSII, DeclaracionFinal, Completada), sensible a mayúsculas; inválido → 500 del framework. Así se llama: Etapa se ignora sin aviso. Se aplica después de paginar.

PasoEnSII?string

Nombre o número de PasoCertificacion (Ninguno, Postulacion, Prueba, Simulacion, Intercambio, MuestrasImpresas), sensible a mayúsculas; inválido → 500 del framework. Se aplica después de paginar.

Cuerpo de la respuesta

Listado de certificaciones.

application/json
  1. response
[index: integer]?

Datos de la certificación.

curl --request GET \  --url https://api.enrolamiento.cl/v1/certificaciones/buscar/1/1 \  --header 'Accept: application/json' \  --header 'Authorization: Basic <base64 de usuario:apikey>'
[  {    "Actecos": [      {        "AffectoIva": "SI",        "Codigo": "620200",        "Nombre": "Actividades de consultoría informática"      }    ],    "ClasificacionError": 0,    "CodigoError": null,    "Comentario": "Set de prueba enviado al SII.",    "Direccion": "Calle Ejemplo 123, Santiago",    "DireccionModificada": "Calle Ejemplo 123, Santiago",    "DireccionRegional": "Santiago Centro",    "DireccionRegionalModificada": "Santiago Centro",    "Estado": 1,    "Etapa": 2,    "Fecha": "2026-09-30T10:09:00",    "FechaEstado": "2026-10-01T09:12:00",    "Giro": "Desarrollo de software",    "GiroModificado": "Desarrollo de software",    "HorasEnEstado": 23,    "PasoEnSII": 2,    "Productos": [      {        "Nombre": "Licencia mensual",        "Precio": 10000      }    ],    "RUT": "11111111-1",    "RazonSocial": "Comercial Ejemplo SpA",    "RazonSocialModificada": "Comercial Ejemplo SpA",    "Reinicios": 0,    "Servicios": [      {        "Nombre": "Implementación",        "Precio": 100000      }    ],    "Sets": [      110    ]  },  {    "Actecos": [      {        "AffectoIva": "SI",        "Codigo": "473000",        "Nombre": "Venta al por menor de combustibles"      }    ],    "ClasificacionError": 0,    "CodigoError": null,    "Comentario": "Certificación completada.",    "Direccion": "Avenida Prueba 456, Valparaíso",    "DireccionModificada": "Avenida Prueba 456, Valparaíso",    "DireccionRegional": "Valparaíso",    "DireccionRegionalModificada": "Valparaíso",    "Estado": 2,    "Etapa": 4,    "Fecha": "2026-09-28T15:12:00",    "FechaEstado": "2026-10-05T16:40:00",    "Giro": "Venta al por menor",    "GiroModificado": "Venta al por menor",    "HorasEnEstado": null,    "PasoEnSII": 5,    "Productos": [      {        "Nombre": "Producto de ejemplo",        "Precio": 1000      }    ],    "RUT": "22222222-2",    "RazonSocial": "Distribuidora Ejemplo Ltda.",    "RazonSocialModificada": "Distribuidora Ejemplo Ltda.",    "Reinicios": 1,    "Servicios": [      {        "Nombre": "Servicio de ejemplo",        "Precio": 150000      }    ],    "Sets": [      33,      34,      46,      43,      52,      110    ]  }]

Reintentos e idempotencia

Idempotente: sí. Repetirla con los mismos datos no duplica nada.

Qué hacerCódigos y status
Reintentar solo, con espera (automatico)409
Consultar el estado antes de repetir (manual)—
No repetir: corregir la causa (nunca)—

Un código que no figura en esta tabla se resuelve con la regla de respaldo.