Vai al contenuto principale
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 workspace, chiama il percorso (prendi un token da Impostazioni → API & Webhooks):
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 yarn venti dev:function:logs, o invocarlo direttamente con yarn venti dev:function:exec.
Dopo questo passaggio: l’app può generare documenti su HTTP e servirli come pagine web . Ora rendiamo utilizzabile senza curl.

Il prossimo: costruire l'interfaccia utente →

Viste, navigazione, un comando e un componente anteriore.