Circa un anno fa ci ho lavorato e ora ho deciso di pubblicarlo gratis e open source!

Come integrare le API di RENTRI: pyrentri, un package Python open source

08-10-2026

All’inizio dello scorso anno ho accettato un nuovo progetto e dovuto studiare e capire il funzionamento di RENTRI.

RENTRI è l’acronimo di: Registro Elettronico Nazionale per la Tracciabilità dei Rifiuti.

In sincerità non ne sapevo molto sulla gestione dei rifiuti, ma mi interessava molto il tema. Ho iniziato a seguire corsi, seminari e anche a guardare tutti i video possibili su YouTube per capire non solo come funzionasse, a livello logistico, fino ad ora il sistema di smaltimento rifiuti in Italia, ma anche come doveva funzionare con la nuova legge.

Mentre studiavo e iniziavo a capire sempre di più di questo “nuovo” mondo, dovevo però anche studiare la documentazione delle API di RENTRI e digitalizzare quanto finora veniva fatto in forma cartacea.

Devo dire che il supporto RENTRI è stato prezioso nel periodo in cui ci ho lavorato: rispondono sempre a tutte le email (anche se a volte con un bel po' di delay) e mi hanno sempre chiarito i dubbi che avevo. L’area di demo messa a disposizione mi ha consentito di testare e validare i vari flussi.

Inizialmente avevo creato una collection Postman per testarmi le varie risposte delle API, però dopo una primissima fase di scoperta, ho capito che questa strada non era percorribile. Per compilare i payload JSON, calcolare gli hash con i certificati, ecc., perdevo tantissimo tempo solo per un singolo test.

Ho iniziato quindi a scrivermi dei rudimentali script Python per calcolare i vari hash e testarmi le chiamate all’area demo RENTRI.

Il tutto funzionava discretamente bene.

Poi il progetto si è concluso e tutta questa accozzaglia di script è rimasta lì abbandonata in una cartella, ero dispiaciuto! Ci pensavo ogni tanto.

Negli ultimi giorni quindi ho deciso di trasformare quella collezione di script disordinata in un package Python open source di supporto per la comunicazione con RENTRI e di rilasciarlo su GitHub. Ecco il link al repo: https://github.com/progressify/pyrentri

Ho pubblicato il pacchetto pyrentri anche su PyPI: https://pypi.org/project/pyrentri/0.1.0/

Puoi installarlo comodamente con pip:

pip install pyrentri

Oppure con uv se preferisci:

uv add pyrentri

Disclaimer:

  1. Cosa FA pyrentri: automatizza interamente il complesso flusso di sicurezza e crittografia richiesto dalle specifiche RENTRI. Gestisce l’estrazione e il parsing dei certificati .p12 (PKCS#12) con supporto per chiavi RSA ed Elliptic Curve, la generazione dei token JWT firmati con la catena di certificati (x5c), il calcolo del digest SHA-256 dei payload per i signed_headers, e semplifica le chiamate HTTP verso gli endpoint governativi.
  2. Cosa NON FA pyrentri: non valida, non costruisce e non altera i payload (es. formulari FIR, movimentazioni del registro cronologico). In qualità di sviluppatore, è tuo compito consultare la documentazione ufficiale di RENTRI, strutturare i payload JSON delle richieste e processare le relative risposte in piena conformità con gli standard normativi.

Di seguito ti lascio anche i riferimenti utili:

  1. Portale ufficiale RENTRI: https://www.rentri.gov.it
  2. Documentazione ufficiale API RENTRI: https://demoapi.rentri.gov.it/docs

Supporto per l’integrazione aziendale

Hai bisogno di integrare le API di RENTRI all’interno del tuo software gestionale, ERP o nella tua infrastruttura aziendale?

Offro supporto tecnico specializzato e servizi di sviluppo software su misura:

  1. Architetture per la gestione asincrona delle trasmissioni massive e monitoraggio degli esiti.
  2. Gestione della firma digitale e dei certificati in ambienti di produzione e cloud.

Contattami per valutare insieme le tue esigenze di integrazione.

AP

Antonio Porcelli @progressify

Antonio Porcelli

@progressify

Commenta l'articolo