{"name":"RP-80 SAM-PAAC Synchronization API","version":"1.2.0","description":"API para sincronización automática de enlaces SAM-PAAC faltantes","author":"Equipo de Desarrollo Telefónica","date":"26 de noviembre de 2025","endpoints":{"/rpfix-80":"Ejecutar sincronización inicial (requiere token)","/rpfix-80/fix-huerfanos-paac":"Reparar correlativos huérfanos en estado 10 sin registro PAAC (requiere token)","/rpfix-80/asignar-id-paac-proyecto":"Asignar ID PAAC inicial a proyecto individual (requiere token)","/rpfix-80/corregir-correspondencia-proyecto":"Corregir correspondencias incorrectas (requiere token)","/rpfix-80/cron-auto-fix-correspondences":"Corrección automática masiva para cron (requiere token)","/rpfix-80/resync":"Re-sincronización completa PAAC → SAM + asignación inicial (requiere token)","/rpfix-80/resync-full":"Re-sincronización FULL (resync + paac_sam integrado) (requiere token)","/health":"Verificar estado del servicio","/":"Información de la API"},"usage":{"sync_endpoint":"GET /rpfix-80?token=973a7114...","parameters":{"token":"Token de seguridad (requerido)","dry_run":"true/false - Ejecutar en modo simulación (default: true)","limit":"Número máximo de registros a procesar (default: 100)"},"examples":{"simulation":"/rpfix-80?token=XXX&dry_run=true&limit=10","production":"/rpfix-80?token=XXX&dry_run=false&limit=50","fix_huerfanos_preview":"/rpfix-80/fix-huerfanos-paac?token=XXX&numero_proyecto=138425-2&preview=true","fix_huerfanos_execute":"/rpfix-80/fix-huerfanos-paac?token=XXX&numero_proyecto=138425-2&preview=false&execute=true"}},"resync":{"description":"Re-sincronización completa PAAC → SAM (estados con respuesta definitiva) + asignación inicial de id_paac_cloud","casos_uso":["Registros con id_paac_cloud = NULL (asignación inicial)","Registros con id_paac_cloud != NULL pero datos desactualizados (re-sincronización)","Proyectos en estado \"Enviado a PAAC\" sin vínculo PAAC establecido"],"estados_validos":{"2":"COTIZACIÓN_TERMINADA → SAM Estado 4 (RESPONDIDO_RED) + Cálculos de precio","3":"EN_PROCESO → SAM Estado 4 (RESPONDIDO_RED) + Cálculos de precio","4":"COMPLETADO → SAM Estado 13 (DEVOLUCIÓN_PAAC)","6":"ESPECIAL → SAM Estado 2 (RECHAZADO)"},"estados_excluidos":{"1":"RECHAZADO - No sincronizar","5":"PENDIENTE/ESPERANDO_ASIGNACION - Sin respuesta definitiva"},"endpoints":{"preview":"/rpfix-80/resync?token=XXX&preview=true&limit=5","execute":"/rpfix-80/resync?token=XXX&preview=false&limit=5"},"fields_synchronized":["id_paac_tch","estado_sam","ingeniero_paac_tch","habilitacion","renta12-60","plazo","observaciones","fch_compromiso"]},"asignacion_inicial":{"description":"Asignación inicial de ID PAAC a proyectos SAM sin vincular (estados con respuesta definitiva)","casos_uso":["Proyectos SAM nuevos que necesitan vincularse con PAAC por primera vez","Proyectos con registros LINKING sin id_paac_cloud asignado"],"estados_validos":{"2":"COTIZACIÓN_TERMINADA","3":"EN_PROCESO","4":"COMPLETADO","6":"ESPECIAL"},"estados_excluidos":{"1":"RECHAZADO - No asignar","5":"PENDIENTE/ESPERANDO_ASIGNACION - Sin respuesta definitiva"},"endpoints":{"preview":"/rpfix-80/asignar-id-paac-proyecto?numero_proyecto=138693&ejecutar=false&token=XXX","execute":"/rpfix-80/asignar-id-paac-proyecto?numero_proyecto=138693&ejecutar=true&token=XXX"},"seguridad":["Solo asigna si el PAAC tiene estado definitivo (2,3,4,6)","Valida que exista respuesta PAAC activa","No sobrescribe IDs ya asignados (condición id_paac_cloud IS NULL)"]},"configuration":{"sync_from_date":"2025-10-01","max_batch_size":"100","environment":"production"}}