Saltar al contenido principal
Las programaciones te permiten ejecutar la conciliación automáticamente con una cadencia recurrente en lugar de disparar las ejecuciones de coincidencia a mano. Cada programación pertenece a un contexto de conciliación y se dispara según una expresión cron, de modo que un contexto puede conciliarse a diario, cada hora o con cualquier frecuencia personalizada que definas.

¿Qué es una programación?


Una programación es un disparador basado en cron asociado a un contexto. Cuando se dispara, Matcher lanza una ejecución de conciliación para ese contexto usando sus reglas y fuentes activas.
CampoTipoDescripción
idUUIDIdentificador único de la programación
contextIdUUIDContexto al que pertenece esta programación
cronExpressionStringExpresión cron que define la frecuencia (por ejemplo, 0 0 * * * para diario a medianoche)
enabledBooleanSi la programación está activa
lastRunAtTimestampHora de la última ejecución exitosa (RFC 3339)
nextRunAtTimestampHora de la próxima ejecución programada (RFC 3339)
createdAt / updatedAtTimestampMarcas de tiempo de creación y última actualización (RFC 3339)

Ciclo de vida de una programación


Las programaciones admiten un ciclo de vida CRUD completo bajo /v1/contexts/{contextId}/schedules.
AcciónMétodo y ruta
Crear programaciónPOST /v1/contexts/{contextId}/schedules
Listar programacionesGET /v1/contexts/{contextId}/schedules
Consultar programaciónGET /v1/contexts/{contextId}/schedules/{scheduleId}
Actualizar programaciónPATCH /v1/contexts/{contextId}/schedules/{scheduleId}
Eliminar programaciónDELETE /v1/contexts/{contextId}/schedules/{scheduleId}

Crear una programación


Proporciona una cronExpression; enabled toma el valor activo por defecto cuando se omite.
cURL
curl -X POST "https://api.matcher.example.com/v1/contexts/{contextId}/schedules" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "cronExpression": "0 0 * * *",
   "enabled": true
 }'
cronExpression
String
requerido
Expresión cron que define la frecuencia de ejecución (1–100 caracteres)
enabled
Boolean
Si la programación está activa de inmediato
La respuesta devuelve la programación creada, incluyendo su id, nextRunAt y marcas de tiempo. Listar las programaciones (GET) devuelve todas las programaciones del contexto, tanto habilitadas como deshabilitadas.

Pausar vs. eliminar una programación


Cuando necesitas detener una conciliación recurrente, tienes dos opciones, y la elección importa. Deshabilita la programación para pausar las ejecuciones automáticas conservando su configuración e historial. Volver a habilitarla más adelante es una sola llamada, sin necesidad de recrearla. Actualiza la expresión cron, alterna enabled, o ambas cosas (los campos omitidos se dejan sin cambios):
cURL
curl -X PATCH "https://api.matcher.example.com/v1/contexts/{contextId}/schedules/{scheduleId}" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "cronExpression": "0 6 * * *",
   "enabled": false
 }'
Elimina la programación (DELETE .../schedules/{scheduleId}) solo cuando la cadencia haya desaparecido definitivamente: la eliminación es permanente. Para simplemente tomar una pausa, deshabilítala en su lugar.

Buenas prácticas


Programa las ejecuciones para que se disparen después de que todas las fuentes del contexto hayan entregado sus datos del período. Ejecutar antes de que finalice la ingesta produce excepciones evitables.
Al pausar una cadencia de conciliación, deshabilita la programación para que el historial y la configuración se conserven y volver a habilitarla sea una sola llamada.
Mantén las expresiones cron legibles y documentadas (por ejemplo, 0 0 * * * = diario a las 00:00). Verifica los supuestos de zona horaria de tu despliegue antes de depender de una programación para ejecuciones sensibles a SLA.

Próximos pasos


Contexts and Sources

Configura los contextos y las fuentes que reconcilia una programación.

Generating Reports

Revisa los resultados producidos por las ejecuciones programadas.