API Documenti & PDF
Endpoint per la gestione delle immagini dei documenti d’identità degli ospiti e la generazione di report PDF tramite il servizio APITemplate.io.
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 il servizio APITemplate.io con un template predefinito.
POST /api/generate-pdf
Parametri Body
I parametri variano in base al template utilizzato. Il body viene inoltrato direttamente al servizio APITemplate.io.
Esempio di Richiesta
{
"template_id": "tmpl_abc123",
"data": {
"nome_ospite": "Mario Rossi",
"check_in": "20/07/2026",
"check_out": "25/07/2026",
"numero_notti": 5
}
}
Risposta
{
"download_url": "https://api.apitemplate.io/v2/pdf/download/...",
"status": "success",
"transaction_ref": "txn_xyz789"
}
Genera Report Finanziario
Genera un report finanziario in formato PDF tramite APITemplate.io con dati tabellari.
POST /api/generate-apitemplate
Parametri Body
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
rows |
object[] |
✅ | Array di righe con i dati del report |
templateId |
string |
✅ | ID del template APITemplate.io |
user_id |
string |
✅ | ID dell’utente che genera il report |
Esempio di Richiesta
{
"rows": [
{
"data": "01/07/2026",
"descrizione": "Soggiorno Camera 1",
"ospite": "Mario Rossi",
"importo": 450.00
},
{
"data": "05/07/2026",
"descrizione": "Soggiorno Camera 2",
"ospite": "John Smith",
"importo": 630.00
}
],
"templateId": "tmpl_report_001",
"user_id": "usr_abc123"
}
Risposta
{
"success": true,
"download_url": "https://api.apitemplate.io/v2/pdf/download/...",
"id": "pdf_2026071501",
"message": "Report generato con successo"
}
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://..."
}
]
}