API Documenti & PDF
Endpoint per la gestione delle immagini dei documenti d’identità degli ospiti e la generazione di report PDF tramite il motore headless proprietario Template Engine.
Carica Immagine Documento
Carica l’immagine di un documento d’identità su GitHub come storage. Ogni documento è identificato dalla combinazione di prenotazione, indice ospite e lato (fronte/retro).
POST /api/documents/upload
Parametri Body
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
booking_id |
number |
✅ | ID della prenotazione |
guest_idx |
number |
✅ | Indice dell’ospite (0-based) |
side |
string |
✅ | Lato del documento: front o back |
base64Image |
string |
✅ | Immagine codificata in Base64 |
ext |
string |
✅ | Estensione del file (es. jpg, png, webp) |
Esempio di Richiesta
{
"booking_id": 142,
"guest_idx": 0,
"side": "front",
"base64Image": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAg...",
"ext": "jpg"
}
Risposta
{
"success": true,
"message": "Documento caricato con successo",
"path": "documents/142/0/front.jpg",
"url": "https://raw.githubusercontent.com/.../documents/142/0/front.jpg"
}
[!NOTE]
Le immagini vengono archiviate su un repository GitHub privato. L’URL restituito non è accessibile pubblicamente; utilizza l’endpoint di recupero per accedere alle immagini.
Recupera Immagine Documento
Recupera l’immagine di un documento precedentemente caricato.
GET /api/documents/:booking_id/:guest_idx/:side
Parametri URL
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
booking_id |
number |
✅ | ID della prenotazione |
guest_idx |
number |
✅ | Indice dell’ospite (0-based) |
side |
string |
✅ | Lato del documento: front o back |
Esempio di Richiesta
GET /api/documents/142/0/front
Risposta
La risposta è l’immagine binaria con il Content-Type appropriato:
Content-Type: image/jpeg
Se il documento non esiste, restituisce 404:
{
"error": "Documento non trovato",
"status": 404
}
Genera PDF
Genera un documento PDF utilizzando Template Engine a partire da un template salvato o codice inline.
POST /api/generate-pdf
Parametri Body
I parametri includono template_id e l’oggetto data con le variabili da interpolare nel template.
Esempio di Richiesta
{
"template_id": "5d777b23f8e187d0",
"data": {
"id_prenotazione": "PR-123456",
"nome_cognome": "Mario Rossi",
"data_in": "20/07/2026",
"data_out": "25/07/2026",
"email": "mario.rossi@example.com"
}
}
Risposta
{
"status": "success",
"download_url": "https://te.cristianobleve.com/api/v1/render/download/0384f452-9668-401f-98a7-5a1b66c7b547",
"transaction_ref": "0384f452-9668-401f-98a7-5a1b66c7b547"
}
Genera Report Finanziario
Genera un report finanziario in formato PDF tramite Template Engine con calcoli aggregati e dati tabellari.
POST /api/generate-apitemplate
Parametri Body
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
rows |
object[] |
✅ | Array di righe con i dati del report CSV |
templateId |
string |
❌ | ID del template Template Engine (default: d2577b23c4d40496) |
user_id |
string |
❌ | ID dell’utente che genera il report |
Esempio di Richiesta
{
"rows": [
{
"listingId": "LC-01",
"listingTitle": "Appartamento Il Carrubo",
"firstName": "Mario",
"lastName": "Rossi",
"Q1Payouts": "1200.00",
"Q1Checkins": 4
}
],
"templateId": "d2577b23c4d40496",
"user_id": "usr_abc123"
}
Risposta
Risposta diretta in formato binario (Content-Type: application/pdf) oppure salvataggio su database csv_pdf con download del file.
Lista PDF Generati
Restituisce l’elenco dei PDF generati in precedenza, filtrati per utente.
GET /api/csv-pdf-list
Parametri Query
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
user_id |
string |
✅ | ID dell’utente |
Esempio di Richiesta
GET /api/csv-pdf-list?user_id=usr_abc123
Risposta
{
"data": [
{
"id": "pdf_2026071501",
"nome": "Report Luglio 2026",
"created_at": "2026-07-15T10:30:00Z",
"download_url": "https://..."
},
{
"id": "pdf_2026060101",
"nome": "Report Giugno 2026",
"created_at": "2026-06-01T09:00:00Z",
"download_url": "https://..."
}
]
}
Download PDF
Scarica un PDF generato in precedenza tramite il suo ID.
GET /api/csv-pdf-download/:id
Parametri URL
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
id |
string |
✅ | ID del PDF da scaricare |
Esempio di Richiesta
GET /api/csv-pdf-download/pdf_2026071501
Risposta
La risposta è il file PDF binario:
Content-Type: application/pdf
Content-Disposition: attachment; filename="report_luglio_2026.pdf"
Storico Generazione PDF
Restituisce lo storico completo delle generazioni PDF con i relativi metadati.
GET /api/history
Risposta
{
"data": [
{
"id": "pdf_2026071501",
"tipo": "report_finanziario",
"utente": "usr_abc123",
"template_id": "tmpl_report_001",
"created_at": "2026-07-15T10:30:00Z",
"stato": "completato",
"download_url": "https://..."
},
{
"id": "pdf_2026071401",
"tipo": "lettera_benvenuto",
"utente": "usr_abc123",
"template_id": "tmpl_lettera_001",
"created_at": "2026-07-14T08:15:00Z",
"stato": "completato",
"download_url": "https://..."
}
]
}