양식
가입 양식, 양식을 작성하는 사람들, 그리고 그 수치.
양식 도구
| 도구 | 하는 일 |
|---|---|
| listForms | 워크스페이스의 가입 양식을 최근에 바뀐 순서대로, 상태, 가입 수, 조회수와 함께 보여 줍니다. |
| getForm | 양식 하나의 전체 정보: 필드, 문구, 오디언스, 더블 옵트인, 알림. 게시된 양식이면 링크, 삽입 코드, 순수 HTML 양식이 전송하는 주소가 더해지며, includeDesign은 초안을 JSON으로 반환합니다. |
| listFormStarters | 새 양식의 출발점이 될 수 있는 시작 양식과 각각이 요구하는 필드. |
| createForm | 시작 양식에서, document로 작성한 디자인에서, 또는 시작 양식에 변경을 더한 것에서 양식을 만들며, 어떤 설정이든 함께 줄 수 있습니다. publish가 true가 아니면 초안으로 남습니다. |
| updateForm | 즉시 적용되는 양식의 이름과 설정, 또는 document를 통한 초안 디자인을 바꿉니다. 문구와 스타일은 키별로 병합되고, fields는 목록 전체를 교체합니다. |
| publishForm | 현재 초안을 방문자가 보는 내용으로 만들어, 양식이 가입을 받게 합니다. |
| setFormStatus | 게시된 양식을 일시 중지하거나 다시 엽니다. |
| duplicateForm | 양식을 가입은 빼고 새 초안으로 복사합니다. |
| deleteForm | 양식과 그 가입을 영구히 삭제합니다. 링크와 삽입 코드는 작동을 멈추고, 양식이 추가한 사람들은 연락처에 남습니다. |
| getFormAnalytics | 기간 동안의 조회수, 가입 수, 추가된 사람과 아직 기다리는 사람 수, 전환율을 합계와 분, 시간, 일 단위로 보여 줍니다. 조회수는 시간 단위로 보관됩니다. |
| listFormSubmissions | 양식을 작성한 사람들을 최신순으로, 답변과 상태와 함께 한 페이지씩 보여 줍니다. 이메일 주소로 검색하고 상태로 거를 수 있습니다. |
| getFormSubmission | 가입 하나의 전체 정보: 모든 답변, 상태, 들어온 시각과 그 사람이 추가된 시각, 가입이 이루어진 페이지, 오디언스. |
| approveFormSubmission | 확인을 기다리는 가입을 이메일 확인 없이 추가합니다. contacts:write도 필요합니다. |
| resendFormConfirmation | 아직 기다리는 가입에 새 확인 링크를 이메일로 보냅니다. 최근 10분 안에 이 양식이 그 주소로 메일을 보냈거나, 그 주소가 최근 하루 동안 이 워크스페이스에서 다섯 통을 받았다면 아무것도 보내지 않습니다. emails:send도 필요합니다. |
| removeFormSubmissions | 양식의 가입을 id로 최대 200개까지 삭제합니다. 연락처와 오디언스는 그대로 남습니다. |
읽기에는 forms:read, 모든 변경에는 forms:write가 필요합니다. 양식이 메일을 보내게 하는 작업에는 emails:send도 필요합니다. 더블 옵트인 켜기, 보내는 주소나 확인 메일 설정, 더블 옵트인 양식의 게시나 다시 열기, 확인 메일 다시 보내기가 여기에 해당합니다. 멤버를 대신하는 클라이언트는 그 멤버가 만든 양식만 보며, 일부 주소로 제한된 클라이언트는 자신이 닿을 수 있는 주소에서만 확인 메일을 보내고 그런 주소로만 알림을 보낼 수 있습니다.
글로 쓴 요청에서 양식을 디자인하는 일은 앱의 채팅에서 합니다. MCP에서는 클라이언트가 디자이너입니다. 필드, 문구, 스타일을 document로 createForm이나 updateForm에 넘기면, 도구가 디자인을 정리하고 무엇을 바꿨는지 알려 줍니다.
이 서버의 도구 7개는 REST API가 인증 코드로 보호하는 변경을 하며, 같은 코드를 요구합니다. createRule, setRuleEnabled, removeDomain, removeDomainAddress, removeAppHost, deleteForm, 그리고 직접 만든 오디언스에 대한 deleteAudience입니다. 클라이언트가 최근 60분 안에 코드를 인증하지 않았고, 사용자가 계정 → 연결된 앱에서 그 클라이언트에 대해 60분 동안 변경 허용을 고르지도 않았다면, 이런 도구는 Refused (step_up_required):로 시작하는 결과를 반환하고 아무것도 바꾸지 않습니다. emptyAudience는 코드를 요구하지 않습니다. 코드를 요청하고 인증하는 방법은 API의 인증 페이지에 있습니다.
도구는 REST API와 같은 규칙과 거부를 적용하며, API 레퍼런스의 /forms 페이지에서 모든 필드를 설명합니다. listForms는 마지막 변경 순으로 정렬하고, createForm과 updateForm은 일부만 있는 document를 정리해 주지만 API는 그것을 통째로 받습니다.