Envio de Archivo
El archivo de saldos contendrá una fila por cada cuenta invertida. Cabe destacar que cada fila tendrá un tamaño aproximado de 100 bytes
, lo cual es importante considerar, ya que el tiempo el envío y el pre-procesamiento necesario puede variar en función de la cantidad de filas.
El archivo de saldos debe ser enviado utilizando el endpoint de archivos:
Método: POST
URL: /api/v1/files/
El payload se debe enviar con formato form-data
:
{
"file": "2024-05-04_SaldosBilleteraInvera_SUS.csv",
"reason": "balance_batch_file"
}
Respuesta:
{
"file": "https://invwallet….",
"file_id": "file_unWKfw7KY0aOCNSg",
"reason": "balance_batch_file",
"updated": "2024-03-24T12:52:44.238840-03:00",
"created": "2024-03-24T12:52:44.238810-03:00"
}
Se debe resguardar el valor file_id
, ya que lo necesitamos para poder identificar las nóminas generadas a partir del mismo.
En este punto el archivo de saldos inicia su procesado de manera asíncrona, invWallet validará la información de cada cuenta y reflejará en tablas internas los saldos.
Los archivos de saldos no pueden ser procesados 2 veces.
Procesado de saldos
A continuación, InvWallet realizará la comparación con saldos anteriores y generará las órdenes a realizar determinando el side
(suscripción o rescate) y el monto a operar.
Por ejemplo, si una cuenta tiene $1000 invertidos y el archivo de saldos ahora refleja $720,40, significa que se ha hecho una extracción y se generará un rescate de $279,60 (1000 - 720.40).
Finalmente, se generan las nóminas que agrupan a todas las órdenes generadas, con el monto total.
Para realizar pruebas o verificar el estado de los saldos, es posible utilizar el endpoint endpoint de Balances diarios /api/v1/daily_balances/
para comprobar si ya han sido actualizados. Este método no afecta la operación.
Cabe aclarar que todos los montos se manejan con un redondeo de 2 decimales, por lo que existe la posibilidad de que surja alguna diferencia mínima de 0,01.
Las órdenes generadas por los mismos pueden acabar en estado Fallida
en caso de existir algún error con la cuenta o que alguna regla de compliance lo determine (por ejemplo falta de documentación, cuenta bloqueada, alcanzado límite de suscripción, etc.). En ese caso, las órdenes que sean válidas a enviarse NO serán incluidas en las nóminas correspondientes y no serán contempladas en el monto total que las nóminas representen.