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://..."
    }
  ]
}