Vai al contenuto principale

Panoramica

Lo stesso gestore può anche rispondere alle richieste HTTP. Aggiungeremo due percorsi:
  • un endpoint POST per generare un documento, e
  • un endpoint pubblico GET che rende un documento come una pagina web stampabile.
Entrambi usano httpRouteTriggerSettings. Le route dell’app sono accessibili tramite il percorso /s/; nelle istanze locali e self-hosted, tale percorso è gestito dal tuo server Twenty (ad es. http://localhost:2020/s/documents/generate). Su Twenty Cloud, RestApiClient risolve il percorso tramite il dominio delle funzioni dell’area di lavoro.

Percorso POST — generare su richiesta

Questo riutilizza generateDocumentHandler, quindi non c’è alcuna logica da ripetere — solo un sottile adattatore che legge il corpo della richiesta.
Il gestore condiviso restituisce un suggerito status al fallimento, quindi il percorso può rispondere con un corretto codice 4xx/5xx. isAuthRequired: true significa che il chiamante deve presentare un token valido — il componente anteriore nel capitolo successivo passa automaticamente il token di accesso dell’utente .

OTTIENI il percorso — renderizza come pagina web

Per restituire HTML invece di JSON, avvolgi il corpo in un Response con un’intestazione Content-Type. Questo percorso è pubblico (isAuthRequired: false) così un documento generato può essere condiviso come link.
documentHtmlPage rende il corpo Markdown in HTML (con marked, sanitizzato) e lo lascia in un pulito, pagina stampabile che mostra solo il contenuto del template — lo stesso aspetto del PDF e l’anteprima in-app. Vedi l’helper.

Provalo

Con un modello e una Persona nel tuo spazio di lavoro, chiama la route (recupera un token da Impostazioni → Sviluppatori → API):
Apri il documento restituito nel tuo browser:
Una pagina web di documento renderizzato

Il percorso GET pubblico rende il documento come una pagina stampabile.

Puoi anche trasmettere i log di una funzione durante il test con twenty app logs, oppure invocarla direttamente con twenty app exec.
Dopo questo passaggio: l’app può generare documenti su HTTP e servirli come pagine web . Ora rendiamo utilizzabile senza curl.
card-page-tutorial-ui
Successivo: creazione dell’interfaccia utente →
Viste, navigazione, un comando e un componente front-end.