이메일 템플릿 미리 보기
POST /v1/email-templates/{family}/{locale}:preview · 권한 email-templates:write · Startup 플랜 이상
저장된 버전 또는 아직 저장하지 않은 내용을 샘플 데이터로 렌더링하고, 수신자가 보게 될 전체 메시지를 반환합니다: 플랫폼 레이아웃, 필수 보안 블록, 플랫폼 마크. 아무것도 저장되거나 발송되지 않습니다. 샘플 코드와 링크는 호출할 때마다 무작위로 생성됩니다. 검증은 초안 저장과 같습니다.
경로 매개변수
| 매개변수 | 설명 |
|---|---|
family |
이메일 패밀리(예: verify_email 또는 email_otp, 이메일 템플릿 목록 조회 참고). |
locale |
로케일 태그(예: en 또는 de). |
요청
version 또는 내용 필드 중 하나만 보내세요(둘 다 보내지 마세요).
| 필드 | 타입 | 설명 |
|---|---|---|
version |
integer | 렌더링할 저장된 버전(1 이상). |
subject, html, text_body, from_name |
string | 저장하지 않은 내용. 초안 저장과 같은 규칙이 적용됩니다. |
응답
200 OK
{
"subject": "Confirm your email for Example App",
"html": "<!doctype html><html lang=\"en\">…</html>",
"text": "Confirm your email: https://login.example.com/preview/9f2c…",
"locale": "en"
}
locale은 플랫폼 자체 부분에 사용된 카탈로그 로케일입니다.
오류
| HTTP | code | 발생 시점 |
|---|---|---|
| 400 | unknown_field |
본문에 알 수 없는 필드가 있거나 JSON 객체가 아닙니다. |
| 404 | not_found |
패밀리 또는 로케일을 알 수 없거나 버전이 존재하지 않습니다. |
| 403 | plan_feature_unavailable |
환경의 플랜에 사용자 지정 이메일 템플릿이 포함되지 않습니다(Startup 이상; 필요한 플랜은 required_plan에 표시됩니다). |
| 413 | payload_too_large |
본문이 2 MiB를 초과합니다. |
| 422 | validation_failed |
version과 내용이 함께 전송되었거나(conflicts_with_content), 내용이 검증에 실패했습니다. |
| 422 | template_forbidden_construct |
템플릿이 샌드박스 밖의 Liquid 구문을 사용합니다. |
| 401 | unauthenticated |
자격 증명이 없거나 잘못되었거나 취소되었습니다. |
| 403 | insufficient_permissions |
자격 증명에 필요한 권한이 없습니다. |
| 429 | rate_limited |
요청 속도 제한을 초과했습니다. Retry-After 기간 이후에 다시 시도하세요. |
| 503 | service_unavailable |
종속 서비스를 일시적으로 사용할 수 없습니다. Retry-After 기간 이후에 다시 시도하세요. |
예제
curl -X POST https://api.eu.keenauth.com/v1/email-templates/verify_email/en:preview \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"version":3}'
CLI: keenauth email-templates preview verify_email en --version 3