Recupero notifiche SDI per fatture inviate e ricevute.
import { ArubaClient } from '@fatturazione-elettronica-aruba/core';
import { NotificationsClient } from '@fatturazione-elettronica-aruba/notifications';
const client = new ArubaClient({ environment: 'demo' });
await client.auth.signin('username', 'password');
const notifications = new NotificationsClient(client.http);
const result = await notifications.getSentNotifications({
invoiceFilename: 'IT01234567890_00001.xml',
});
for (const n of result.notifications) {
console.log(`${n.docType}: ${n.filename}`);
}
// Dettaglio
const detail = await notifications.getSentNotificationDetail({
filename: 'IT01234567890_00001_RC_001.xml',
});
const result = await notifications.getReceivedNotifications({
invoiceFilename: 'IT09876543210_00001.xml',
});
const detail = await notifications.getReceivedNotificationDetail({
filename: 'IT09876543210_00001_NE_001.xml',
});
| Codice | Nome | Descrizione |
|---|---|---|
RC | Ricevuta di Consegna | Fattura consegnata al destinatario |
NS | Notifica di Scarto | Fattura scartata per errori |
MC | Mancata Consegna | Impossibile consegnare |
NE | Notifica Esito | Esito committente (EC01/EC02) |
DT | Decorrenza Termini | Nessun esito entro 15 giorni |
AT | Attestazione Trasmissione | Conferma trasmissione PA |
async function waitForDelivery(filename: string): Promise<boolean> {
for (let i = 0; i < 10; i++) {
const result = await notifications.getSentNotifications({
invoiceFilename: filename,
});
if (result.notifications.some(n => n.docType === 'RC')) {
return true; // Consegnata
}
if (result.notifications.some(n => n.docType === 'NS')) {
return false; // Scartata
}
await new Promise(r => setTimeout(r, 60000));
}
return false;
}
import { decodeBase64ToString } from '@fatturazione-elettronica-aruba/utils';
const detail = await notifications.getSentNotificationDetail({
filename: 'IT01234567890_00001_RC_001.xml',
});
const xmlContent = decodeBase64ToString(detail.file);
console.log(xmlContent);