Saltar al contenido

Licencias, manifiestos y MDB ​

Licencias ​

ts
jsd.on('licensing:temporary-license-status', status => console.log(status.active));
await jsd.licensing.requestTemporaryLicenseStatus();
await jsd.licensing.requestJsdIdentification();

Los métodos consultan funciones, licencia temporal, semilla, identificación y activación. requestLicenseActivation({ license }) recibe una licencia Base64. La finalización llega en licensing:report; la promesa solo confirma el encolado. Todos los métodos · Todos los eventos.

Manifiestos y registros ​

ts
jsd.on('manifest:log', entry => console.log(entry.type, entry.log));
const logs = await jsd.manifest.requestLogs();

requestLogs() acumula páginas hasta END_LOG, revisa el progreso cada 100 ms y rechaza lecturas simultáneas. Cada lectura empieza con un búfer aislado. Terminar la sesión rechaza las lecturas pendientes y libera su temporizador. No tiene tiempo límite propio por operación.

requestLogsEvent({ previous }) controla páginas y requestLogsByDate({ since, until }) solicita un intervalo. Las fechas usan campos de hora local codificados como MM/DD/HH/mm/ss.

Para transferir un manifiesto, solicita el envío con tamaño y CRC, transmite bloques siguiendo la posición devuelta y escucha manifest:completed.

resultKeyresult
0Success
1CRC Error
2Transference interrupted
3Reset JSD and try again

Todos los métodos · Todos los eventos.

Lector MDB ​

ts
jsd.on('mdbCardHolder:condition-status', state => console.log(state));
await jsd.mdbCardHolder.requestStatus({ deviceNumber: 1 });
await jsd.mdbCardHolder.requestIdentification({ deviceNumber: 1 });
await jsd.mdbCardHolder.requestBalanceData({ deviceNumber: 1 });

Los dispositivos son 1 o 2; al omitir el número se usa 1. Se admiten habilitación, capacidades, saldo, aprobación/cancelación de venta, confirmaciones de éxito o fallo, cierre de sesión, registro de efectivo, rechazo de selección y recarga. El estado es independiente para cada cliente y dispositivo.

Configurar funciones requiere un lector deshabilitado. Aprobar ventas requiere estado almacenado on hold; los importes son enteros del protocolo entre 1 y 65535. La escala monetaria depende de tu integración; no asumas unidades decimales.

Una integración de pago espera aprobación, ejecuta el dispensado, comunica el éxito o fallo al lector y finaliza la sesión. Espera la respuesta de cada etapa. Todos los métodos · Todos los eventos.

Protocolo explícito, eventos tipados y transporte aislado.