client.commands
client.commands
client.commands împachetează /api/v1/commands/* — coada asincronă de comenzi fiscale. send returnează imediat cu o înregistrare FiscalCommand în starea pending; rezultatul fiscal real ajunge prin WebSocket-ul de evenimente ca command.completed / command.failed. Vezi documentația REST corespondentă la API Comenzi și contractul de livrare în timp real la Evenimente.
Eșecurile la nivel HTTP apar ca EBonApiError. Eșecurile fiscale (imprimantă / protocol) apar pe fluxul de evenimente ca instanțe FiscalError — vezi Erori și catalogul de la /ro/api/errors.
client.commands.send(body)
Trimite o comandă fiscală (dispatch asincron).
async send(body: SendCommandBody): Promise<SendCommandResult>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | da | Dispozitivul țintă. |
type | CommandType | da | Tipul comenzii — vezi @e-bon/types. |
payload | unknown | nu | Payload specific comenzii (forma depinde de type). |
Returnează SendCommandResult — FiscalCommand-ul creat plus un indicator deviceOnline: boolean setat din statusul dispozitivului la momentul punerii în coadă.
const cmd = await client.commands.send({
deviceId: 'dev_01HZ...',
type: 'print_receipt',
payload: { /* corpul bonului */ },
});
if (!cmd.deviceOnline) {
console.warn('Dispozitivul era offline — comandă pusă în coadă, va fi expediată la reconectare.');
}
client.commands.list(query?)
Listează comenzile cu filtre opționale.
async list(query?: ListCommandsQuery): Promise<FiscalCommand[]>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | nu | Filtrează după dispozitiv. |
status | string | nu | Una din pending, sent, completed, failed, cancelled — vezi CommandStatus. |
type | string | nu | Filtrează după CommandType. |
limit | number | nu | Dimensiunea paginii; serverul plafonează maximul. |
Returnează un array de FiscalCommand.
const recent = await client.commands.list({ status: 'failed', limit: 20 });
client.commands.get(id)
Obține o singură comandă după ID (interoghează rezultatul).
async get(id: string): Promise<FiscalCommand>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
id | string | da | Identificatorul comenzii. |
Returnează instantaneul FiscalCommand curent. Preferă abonarea la evenimente în loc să interoghezi cu frecvență mare.
const cmd = await client.commands.get('cmd_01HZ...');
console.log(cmd.status);
client.commands.cancel(id)
Anulează o comandă în așteptare/expediată.
async cancel(id: string): Promise<FiscalCommand>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
id | string | da | Identificatorul comenzii. |
Returnează FiscalCommand-ul actualizat (statusul trece la cancelled dacă comanda nu fusese încă expediată).
await client.commands.cancel('cmd_01HZ...');
client.devices
Referință pentru client.devices — fiecare metodă cu semnături TypeScript, parametri și exemple Node, oglindind suprafața REST /api/v1/devices.
client.receipts
Referință pentru ReceiptsResource — stochează bonuri fiscale după tipărire și recuperează-le cu paginare bazată pe cursor, oglindind /api/v1/receipts.