Salt la conținutul principal
Același gestionar poate răspunde și la solicitările HTTP. Vom adăuga două rute:
  • a POST final apeluri interfață pentru a genera un document, și
  • un obiectiv public GET care face un document ca o pagină web printabilă.
Ambele folosesc httpRouteTriggerSettings. Rutele aplicației sunt accesate prin calea /s/; pe instanțele locale și auto-găzduite, această cale este servită de serverul tău Twenty (de ex. http://localhost:2020/s/documents/generate). Pe Twenty Cloud, RestApiClient rezolvă calea prin domeniul de funcții al spațiului de lucru.

Ruta POST – generarea la cerere

Aceasta refolosește generateDocumentHandler, deci nu există logică de repetat — doar un adaptor subțire care citește corpul cererii.
Managerul partajat returnează un cod status sugerat la eşec, astfel încât ruta poate să răspundă cu codul 4xx/5xx. isAuthRequired: true înseamnă că apelantul trebuie să prezinte un token valid - componenta frontală din capitolul următor trece automat indicativul de acces al utilizatorului .

Ruta GET - redare ca pagină web

Pentru a returna HTML în loc de JSON, înfăşuraţi corpul într-un Răspuns cu headerul Content-Type. Această rută este publică (isAuthRequired: false) astfel încât un document generat poate fi partajat ca un link.
documentHtmlPage redă corpul Markdown în HTML (cu marked, sanitizat) şi îl introduce într-o curată, pagina printabilă care afișează doar conținutul șablonului- aceeași imagine ca PDF și previzualizarea in-app. Vezi ajutorul.

Încearcă-l

Cu un șablon și o Persoană în spațiul de lucru, sunați ruta (apucați un token de la Setări → API-uri & Webhooks):
Deschide documentul returnat în browser-ul tău:
O pagină web de document redată

Ruta publică GET face ca documentul să fie o pagină imprimabilă.

De asemenea, poți viziona jurnalele unei funcții în timp ce testezi cu yarn douăzeci dev:function:logs, sau să o invoci direct cu yarn douăzeci dev:function:exec.
După acest pas: aplicația poate genera documente prin HTTP și le poate servi ca pagini web. Acum hai să îl facem utilizabil fără ‘curl’.

Următorul: construirea interfeței →

Vizualizări, navigare, o comandă și o componentă frontală.