# 인증 문자와 유효시간

> 인증 코드 형식, 유효시간, 문자 일치 규칙

문서: https://sendwich.kr/docs/verification-codes/

## 인증 문자

인증 생성 응답의 `sms_text`는 사용자가 보낼 전체 문자입니다. `하늘바다`가 반환되었다면 해당 네 글자를 전송합니다. 코드는 인증마다 발급되며, 숫자 코드도 앞자리 `0`이 유지되도록 문자열로 처리합니다.

## 코드 형식

대시보드의 **프로젝트 설정 → 인증 코드**에서 설정합니다.

| 형식 | 예시 | 길이 | 요금제 |
| --- | --- | --- | --- |
| 한글 단어 | `하늘바다` | 4글자 | Free·Plus |
| 영문 대문자 | `KRMXQ` | 4~12자 | Plus |
| 숫자 | `004281` | 4~12자 | Plus |

영문은 `I`, `O`를 제외합니다. 프로젝트의 코드 설정은 인증 창과 API 직접 연동에 동일하게 적용됩니다.

## 유효시간

Free와 Plus 모두 **60~900초**로 설정할 수 있습니다. 만료 시각은 응답의 `expires_at`이며, 남은 시간은 `server_time`을 기준으로 계산합니다. 최종 만료 여부는 서버에서 판정합니다.

설정 변경은 이후 생성하는 인증부터 적용됩니다. 같은 `Idempotency-Key`로 재시도하면 기존 코드와 만료 시각을 반환합니다.

## 문자 일치 규칙

앞뒤 공백, 영문 소문자, 분해형 한글은 정규화합니다. 코드 중간의 공백, 추가 문장, 전각 문자가 포함되면 일치하지 않습니다. SMS 수신 처리는 만료 시각 전에 완료되어야 합니다.

짧은 숫자 코드는 사용 가능한 조합이 적습니다. `503 code_unavailable`이 반복되면 코드 길이를 늘리거나 한글 형식으로 변경합니다.
