Emisso Connect
Conceptos

Sincronizar y consultar

En Connect ninguna consulta pregunta en vivo al SII ni a un banco. Leer datos reales son dos pasos, y esta página explica por qué.

Una tool sincronizar abre la sesión contra el sistema externo, trae los datos y los persiste. Las tools consultar leen lo persistido, al instante. Esta separación gobierna toda lectura de datos en Connect y tiene consecuencias prácticas para tu integración.

sincronizar (escribe)                    consultar (lee)
un login real, un logout      ──►        responde al instante
trae y guarda los alcances               desde lo ya guardado
tarda lo que tarde el sistema            barata, paginada, ilimitada

Por qué no hay consultas en vivo

  • Los logins son caros y escasos. Un login bancario tarda cerca de 90 segundos, y en BCI entrar corta la sesión de quien esté dentro del portal. Una consulta en vivo por cada pregunta de un agente dejaría al contador de tu cliente fuera del banco.
  • Los rate limits son del sistema externo, no tuyos. Concentrar el contacto en sincronizar hace controlable cuánto y cuándo se toca el SII o el banco.
  • Tus lecturas se vuelven predecibles. Un consultar responde en milisegundos siempre, sin depender de que el banco esté arriba a las 3 de la mañana.

La regla que nunca se rompe

Un id recurso.consultar significa «lee lo ya sincronizado» en todos los sistemas, sin excepción. No existe, a propósito, una tool que consulte en vivo sin persistir. Y conexion.verificar, que sí abre sesión, no devuelve ningún dato de negocio: solo confirma que la credencial sigue viva.

Es normal que la primera consulta vuelva vacía

Una lista vacía no significa que no haya datos: puede significar que ese período aún no se sincroniza. Antes de concluir, mira las señales:

SeñalDóndeQué te dice
datosListosconexiones.estado.consultarSi la conexión ya tiene algo que leer. Consúltalo después de conectar y antes de la primera lectura.
sincronizacionen cada respuesta de consultarLa completitud del último sync del período pedido: sincronizadoEn, completo, cuántas filas quedaron incompletos.
sincronizacion: nullen cada respuesta de consultarDos causas, y ninguna invalida las filas devueltas: (a) no filtraste por periodo, así que no hay un sync único al que mirar; (b) ese período nunca se sincronizó. Un null junto a una lista con documentos es siempre (a).

Quién dispara la sincronización

CaminoCómoCuándo usarlo
Programadacadencia de la conexión: daily, 12h, 6h u offEl caso normal. Tus lecturas siempre encuentran datos frescos sin que nadie llame a nada.
A pedido, en líneasistema.conexion.sincronizar vía executeCuando el llamador quiere esperar el resultado (un agente cerrando un mes, por ejemplo).
A pedido, asíncronaPOST /v1/connections/{conn}/syncs responde 202 con job_ids; el resultado llega por los webhooks sync.succeeded y sync.failedBackends que no quieren mantener una request abierta un minuto.

Dos syncs del mismo período no se pisan: hay un candado por conexión, y el segundo recibe connection_sync_in_progress (409, reintentable). Basta esperar al primero.

Próximos pasos

On this page