- UI가 문서를 생성하기 위해 호출하는 POST 엔드포인트, 그리고
- 문서를 인쇄 가능한 웹 페이지로 렌더링하는 공개 GET 엔드포인트입니다.
httpRouteTriggerSettings를 사용합니다. 로컬 개발 서버에서는 앱 라우트가 /s 프리픽스 아래에서 제공됩니다(예: http://localhost:2020/s/documents/generate).
Twenty Cloud에서는 워크스페이스 전용 Functions 도메인에서 라우트가 제공됩니다. 이 도메인은 Twenty가
/s 프리픽스 없이 TWENTY_FUNCTIONS_URL로 주입하는 URL입니다. 해당 환경에서 /s 프리픽스는 더 이상 사용되지(deprecated) 않으며, 셀프 호스팅 및 로컬 인스턴스에서만 유지됩니다.
로직 함수 호출하기를 참고하세요.POST 경로 — 온디맨드로 생성하기
이는generateDocumentHandler를 재사용하므로 반복해야 할 로직은 없고, 요청 본문을 읽는 간단한 어댑터만 있으면 됩니다.
status를 반환하므로, 경로가 적절한 4xx/5xx 코드로 응답할 수 있습니다. isAuthRequired: true는 호출자가 유효한 토큰을 제공해야 함을 의미합니다. 다음 장의 프런트 컴포넌트가 사용자의 액세스 토큰을 자동으로 전달합니다.
GET 경로 — 웹 페이지로 렌더링하기
JSON 대신 HTML을 반환하려면, 본문을Content-Type 헤더가 있는 Response로 감싸면 됩니다. 이 경로는 공개(isAuthRequired: false)되어 있으므로 생성된 문서를 링크로 공유할 수 있습니다.
documentHtmlPage는 Markdown 본문을 HTML로 렌더링하고(marked로, sanitization 적용), 템플릿 콘텐츠만 표시되는 깔끔하고 인쇄 가능한 페이지에 이를 삽입합니다. 이는 PDF와 앱 내 미리보기와 동일한 모습입니다.
헬퍼를 확인하세요.
사용해 보기
워크스페이스에 템플릿과 Person이 준비되면, 경로를 호출하세요(Settings → APIs & Webhooks에서 토큰을 가져오세요):
curl 없이도 사용할 수 있도록 만들어 봅시다.
다음: UI 구성하기 →
뷰, 내비게이션, 커맨드, 그리고 프런트 컴포넌트.