Skip to main content
Lerian BC Correios ejecuta un worker de sondeo por tenant. Cada ciclo pide a BC Correio las carpetas y los correos del usuario Sisbacen del tenant, y almacena lo que es nuevo.

Ciclo de sondeo


El tenant define el intervalo de sondeo en su configuración: 5, 15, 30 o 60 minutos. Un cambio del intervalo toma efecto sin reinicio. Cada ciclo ejecuta estos pasos:
  1. Lista las carpetas de BC Correio que el usuario Sisbacen puede ver.
  2. Lee cada carpeta página por página, hasta que una página vuelve vacía.
  3. Lee cada correo nuevo y obtiene sus adjuntos, y luego los almacena.
  4. Para un correo que ya almacena, obtiene los adjuntos que fallaron en un ciclo anterior.
Un error en una carpeta o en un correo no detiene el ciclo. El ciclo siguiente vuelve a intentar ese trabajo.

Carpetas


Cuando Lerian BC Correios almacena un correo nuevo, coloca el correo en la carpeta local que corresponde a su carpeta de BC Correio: Un movimiento posterior del correo en BC Correio no cambia su carpeta local. No puedes restaurar un correo desde CANCELLED.

Sincronización inicial


El primer ciclo de un tenant almacena los correos que ya existen en BC Correio. Lerian BC Correios no envía esos correos acumulados al proveedor de IA. Aun así, puedes pedir un análisis de uno de esos correos. Un ciclo que no logra leer una carpeta no completa la sincronización inicial. El ciclo siguiente la ejecuta otra vez.

Almacenamiento de correos y adjuntos


Lerian BC Correios almacena cada correo en PostgreSQL. Almacena los adjuntos en un almacenamiento de objetos compatible con S3 o en el sistema de archivos local, con el checksum SHA-256 de cada archivo. Cuando descargas un adjunto, el servicio verifica el archivo contra su checksum. Un archivo que no pasa la verificación devuelve BCC-0010.

Envío de un mensaje


POST /mails/send envía un mensaje de texto a un departamento de BACEN a través de BC Correio. El mensaje va al destino de la solicitud. Sin él, va al destino predeterminado del tenant. Sin ninguno de los dos, va a DEINF. El tenant necesita credenciales de BC Correio almacenadas. Sin ellas, la solicitud devuelve 401 BCC-2001, y Lerian BC Correios no almacena nada. Lerian BC Correios registra el mensaje como PENDING antes de llamar a BC Correio. Luego el resultado decide el estado y la respuesta: Una repetición de la solicitud con la misma clave X-Idempotency no envía el mensaje otra vez. Mientras la primera solicitud se ejecuta, la repetición puede devolver 409 BCC-0012 con un header Retry-After. En los demás casos, el estado almacenado de la primera solicitud decide la respuesta: TRANSMISSION_PENDING_GRACE_SEC define la ventana de gracia, 30 segundos de forma predeterminada. No envíes un mensaje otra vez después de BCC-2010. BC Correio ya puede tenerlo. Confirma con BACEN, por su canal manual, que el mensaje no llegó, y solo entonces envíalo con una clave nueva. Lerian BC Correios no reintenta un envío por sí mismo.

Acciones locales sobre los correos


Marcar como leído, archivar y restaurar cambian tu copia local de un correo. Lerian BC Correios no envía estas acciones a BC Correio. Restaurar un correo de la carpeta CANCELLED o SENT devuelve 409 BCC-0014.

Insight de IA


Un tenant puede configurar un proveedor de IA: openai, anthropic o gemini, con su propia clave de API. Lerian BC Correios envía el cuerpo del correo a ese proveedor, junto con el texto que extrae de los adjuntos TXT, CSV, XML, PDF y DOCX. Cuando el tenant tiene un proveedor de IA, cada correo nuevo espera un análisis. Lerian BC Correios analiza en el ciclo de sondeo un correo sin adjuntos y con un cuerpo de al menos AI_BODY_INLINE_THRESHOLD caracteres. Un worker en segundo plano analiza los demás correos. Puedes pedir un nuevo análisis de un correo con POST /mails/{id}/reanalyze. Cuando el proveedor responde dentro de 20 segundos, la respuesta trae el análisis. En otro caso, la respuesta es 202, y el análisis continúa en segundo plano.

Retención


Cada tenant define en su configuración un período de retención entre 1825 y 36500 días. Un worker de retención se ejecuta una vez cada 24 horas. Para los correos que superan el período de retención, elimina los archivos adjuntos del almacenamiento y oculta el correo. Luego elimina los registros del correo de la base de datos.

Registro de auditoría


El registro de auditoría guarda estas acciones: GET /audit lista las entradas. GET /audit/export las exporta en CSV. Envía Accept: application/pdf para obtener un PDF.