De hecho, debes crear un Sync User
con tu API KEY por cada usuario de tu sistema.
Para cada Sync User
puedes crear una o varias credenciales, incluso pueden ser del mismo sitio.
Cada que tu creas una credencial para un usuario se te entrega un id_credential
y tú debes almacenar ese ID, ya que toda la información tanto de Accounts
como de Transactions
se vincula a éste identificador, recuerda además que cada que haces un GET /accounts?id_credential=ID_CREDENTIAL
o un GET /transactions?id_credential=ID_CREDENTIAL
debes enviar el id_credential en Query Params.
Para obtenerlo del Widget puedes hacerlo de la siguiente forma
syncWidget.$on("updated",(data) => {
console.log("ID Credential: " + data.id_credential);
});
Finalmente, tú puedes ejecutar un GET /credentials
para obtener todas las credenciales que ha creado un usuario, el objeto Credential
entrega la siguiente información:
{
"id_credential": "5da8bb743cfb1f14100f823c",
"id_user": "5d24bd243cfb1f77001f9ac2", // ID del usuario al que pertenece
"id_environment": "574894bf7848066d138b4571", // Indica si es Sandbox o Prod
"id_external": "",
"id_site": "56cf5728784806f72b8b456f",
"id_site_organization": "56cf4ff5784806152c8b4568",
"id_site_organization_type": "56cf4f5b784806cf028b4569",
"id_organization": "56cf4ff5784806152c8b4568",
"is_authorized": 1, // Bandera que especifica si la credencial fue autorizada
"is_locked": 0, // Bandera que especifica si la credencial se ha detectado como bloqueada
"is_twofa": 0, // Bandera que especifica si la credencial require token
"username": "A**********A",
"code": 201, // Código de la última sincronización
"keywords": [],
"dt_authorized": 1578554728, // Fecha de la última autorización
"dt_execute": 1571339124, // Fecha de la última ejecución
"dt_refresh": 1578554733, // Fecha de la última vez que descargó movimientos
}