Comprobar si la entrada CDC de una importación ya es visible en el raw
Endpoint servicio-a-servicio consumido por el reconciliador de importaciones de nev-api. No acepta JWT de usuario.
/import-sync/readiness responde "¿llegó la importación al MART?", y esa pregunta solo puede hacerse cuando una ejecución de Dataform ya ocurrió. Este endpoint responde la pregunta anterior y más barata: ¿está ya en BigQuery la entrada que esa ejecución leería? El reconciliador solo despacha la ejecución cuando la respuesta le convence, de modo que no se paga una ejecución contra datos que aún no han llegado.
Se consulta la tabla de merge de Datastream <dataset raw>.users, acotada por la lista de claves. Una entrada es visible cuando existe su fila y su modifiedAt (epoch ms; también se acepta la forma ISO, igual que 02_stg_users.sqlx) es mayor o igual que sourceVersion. labelVisible es cierto cuando importLabelId es nulo, o cuando existe la fila de la etiqueta en <dataset raw>.labels y no tiene deletedAt.
La clave de almacenamiento no es el hex plano: es la clave de documento en JSON extendido de Mongo, y conviven dos codificaciones ({"$oid": "<hex>"} y {"$oid":"<hex>"}). Se prueban ambas por cada id.
La sonda no filtra por tenant: la fila raw es la imagen CDC previa a la resolución de tenant, y su única señal de tenant es memberOf, justo la escritura cuyo retraso esta sonda existe para detectar. El tenant se exige en la cabecera y se registra en el log.
El dataset raw se toma de BIGQUERY_RAW_DATASET; si no está definido se deriva del sufijo del mart (mart_nevent_prd → raw_prd_nevent, mart_nevent_dev → raw_dev_nevent).
Request
- Base URL: http://localhost:8081
- URL: http://localhost:8081/import-sync/visibility
- Auth: HTTP bearer
Headers
Identifica qué servicio interno llama
Tenant sobre el que se comprueba (nunca se lee del body)
Request body
Example request
{
"jobId": "68a1b2c3d4e5f60718293a4b",
"importLabelId": "68b2c3d4e5f60718293a4b5c",
"entries": [
{
"userId": "68388013e2226d79536e4ae2",
"sourceVersion": 1789034400000
}
]
}Response
Sonda ejecutada
Example response
{
"success": true,
"data": {
"total": 1000,
"visible": 998,
"labelVisible": true,
"missingSample": [
"68388013e2226d79536e4ae2"
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.