콘텐츠로 이동
Delivery API
기능을 전제로 계획하기 전에 기능 현황을 확인하세요.

가이드고객 소통

폼과 리드

Studio에서 폼을 만들고, 웹사이트에 렌더링하고, Turnstile로 스팸을 차단하고, 모든 문의를 리드로 받으세요.

이 페이지는 영어에서 번역되었습니다. 내용이 다를 경우 영어 버전이 우선합니다. 영어로 읽기

Atlas 폼은 웹사이트에서 문의를 수집하고, 각 문의를 팀이 배정하고 후속 조치하고 내보낼 수 있는 리드로 바꿉니다. 폼은 개발 웹사이트에서 동작하며, 프로덕션이 라이브가 되면 라이브 웹사이트에서도 동작합니다.

  1. Studio에서 폼을 만듭니다. 필드, 레이블, 동의 문구, 제출 레이블, 완료 메시지를 Forms & leads에서 설정합니다.

  2. 웹사이트가 폼을 렌더링합니다. 폼 정의를 가져와 웹사이트 자체 컴포넌트로 필드를 그리므로 폼이 디자인과 일치합니다.

  3. 방문자가 제출합니다. 브라우저가 Atlas로 직접 전송합니다. 토큰은 사용하지 않으며, Atlas는 Origin이 웹사이트의 등록된 주소인 요청만 받습니다.

  4. Atlas가 검사하고 저장합니다. 먼저 스팸 및 남용 검사를 실행하고, 리드를 저장한 뒤 팀에 이메일로 보내고 웹훅으로 전송합니다.

개발 웹사이트 라이브 웹사이트(프로덕션)
폼이 응답하는 때 항상 프로덕션이 켜져 있고 그리고 서명된 릴리스가 라이브일 때
폼 버전 가장 최근에 게시된 초안 라이브 릴리스에 포함된 버전
허용되는 출처 개발 환경 주소 https:// 프로덕션 도메인만
리드가 보이는 곳 Leads → Development Leads → Live website (“Leads from the live website”)
리드 이메일 기본적으로 꺼짐 기본적으로 켜짐. 일시 중지 가능

폼은 페이지처럼 릴리스에 담겨 프로덕션으로 전달됩니다. 개발 환경에서 변경한 폼은 다음에 승인된 릴리스와 함께 라이브 웹사이트에 도달하며, 릴리스에서 제거된 폼은 그곳에서 더 이상 응답하지 않습니다.

프로덕션이 꺼져 있는 동안 해당 폼 주소는 404 CP_NOT_FOUND로 응답합니다. 프로덕션은 켜져 있지만 서명된 릴리스가 아직 라이브가 아니면 403 CP_PRODUCTION_LOCKED로 응답합니다.

// GET /v1/public/environments/{environmentId}/forms/{formKey}
// → { key, name, version, fields, settings: { submitLabel, successMessage, consentText },
// challenge: { provider: 'turnstile', action, siteKey } }

fields는 자체 입력 요소로 렌더링하세요. challenge.provider가 turnstile이면 주어진 siteKey와 action으로 Cloudflare Turnstile 위젯을 렌더링하고, Content-Security-Policy에서 Turnstile을 허용하세요.

// POST /v1/public/environments/{environmentId}/forms/{formKey}/submissions
{
"idempotencyKey": "<new UUID per attempt>",
"sessionId": "<16–128 chars, A–Z a–z 0–9 _ ->",
"startedAt": 1761210000000, // when the visitor opened the form, in ms
"challengeToken": "<Turnstile token>",
"website": "", // hidden honeypot field; leave empty
"consent": true,
"fields": { "name": "…", "email": "…", "message": "…" }
}
응답 의미
201 { status: 'received' } 접수됨. settings.successMessage를 표시합니다
422 SUBMISSION_INVALID 필드 검증에 실패했습니다. 필드 오류를 표시합니다
400 SUBMISSION_REJECTED 거부됨(예: 챌린지 실패)
429 제출이 너무 많습니다. 방문자에게 나중에 다시 시도하도록 안내합니다

의심스러운 제출은 격리되지만 그래도 201을 받으므로, 공격자는 무엇이 차단되었는지 알 수 없습니다.

  • 사이트별 Cloudflare Turnstile 챌린지.
  • 허니팟 필드와 최소 입력 시간.
  • 10분 이내 중복 감지.
  • 사이트, 폼, 방문자 세션, IP 주소별 속도 제한. 제한을 참고하세요.

Studio의 Spam review 탭에는 개발 환경에서 격리된 제출이 표시됩니다. 라이브 웹사이트에서 격리된 제출은 아직 Studio에서 검토할 수 없습니다.

사이트 소유자가 Integrations → Email에서 이메일 연결(SMTP 또는 이메일 제공업체)을 추가합니다. 비밀번호와 API 키는 암호화되어 저장되며 다시 표시되거나 로그에 남지 않습니다.

Email for enquiries and leads 카드에는 스위치가 두 개 있습니다.

  • Live website: 프로덕션이 라이브가 되면 기본적으로 켜집니다. 폼을 건드리지 않고 이메일을 중지하려면 “emails paused”로 바꾸세요.
  • Development: 기본적으로 꺼져 있으므로 테스트 제출이 누구에게도 이메일을 보내지 않습니다. 테스트 제출에는 [Test] 표시가 붙습니다.

이 스위치는 사이트 관리자만 바꿀 수 있습니다. 방문자에게 보내는 자동 회신은 켜지 않는 한 꺼져 있습니다.