CountdownMail API
이 가이드는 CountdownMail API 사용을 시작하는 데 도움이 됩니다. 설정, 인증, 오류 처리 및 카운트다운 타이머 작업 방법을 다룹니다.
빠른 시작
이 섹션에서는 CountdownMail API 사용 준비와 첫 번째 API 요청 방법을 보여줍니다.
- API 키 받기:
- CountdownMail 계정에 로그인하세요.
- 프로필 » API로 이동하세요.
- API 키를 복사하세요.
- 첫 번째 API 요청하기:
- "타이머 생성" 엔드포인트를 예시로 사용합니다.
- cURL이나 Postman 같은 도구를 사용하여 https://countdownmail.com/api/create로 POST 요청을 보내세요.
- Authorization 헤더에 API 키를 추가하세요.
- 요청 본문에 필요한 타이머 세부 정보를 포함하세요 (JSON 형식).
cURL을 사용한 예시입니다:
요청
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
"skin_id": 1,
"name": "Big Sale!",
"time_end": "2025-04-21 20:00:00",
"time_zone": "America/Los_Angeles",
"font_family": "Roboto-Bold",
"color_primary": "FF3A43",
"color_text": "FFFFFF",
"color_bg": "000000"
}'
- YOUR_API_KEY를 실제 API 키로 바꾸세요.
- 모든 것이 정상이면 다음과 같은 응답을 받게 됩니다:
응답
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
이 응답에는 타이머 코드(예: "td")와 타이머 이미지 URL이 포함됩니다.
인증
CountdownMail API를 사용하려면 모든 요청을 API 키로 인증해야 합니다. 방법은 다음과 같습니다:
- 요청에 Authorization 헤더를 추가하세요. 값은 API 키입니다.
- 또는 기본 인증을 사용할 수 있습니다: API 키를 사용자 이름으로 설정하고 비밀번호는 비워두세요.
Authorization 헤더 예시 (cURL):
요청
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X GET "https://countdownmail.com/api/some_endpoint"
- YOUR_API_KEY를 실제 API 키로 바꾸세요.
- 항상 인증을 포함하세요. 그렇지 않으면 401 Unauthorized 오류가 발생합니다.
Postman 사용하기
Postman을 사용하면 API 요청을 쉽게 테스트할 수 있습니다. CountdownMail과 함께 사용하려면:
오류
API 요청이 실패할 수 있습니다. CountdownMail API는 HTTP 상태 코드를 사용하여 문제를 알려줍니다. 가능한 오류 목록, 의미 및 해결 방법입니다:
| 코드 | 상태 이름 | 설명 | 권장 조치 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | 잘못된 요청 | 요청에 문제가 있습니다. | 요청이 문서와 일치하고 올바른 구문을 사용하는지 확인하세요. | ||||||||
| 401 | 인증되지 않음 | 이 요청을 할 권한이 없습니다. | Authorization 헤더에 유효한 API 키를 사용하고 있는지 확인하세요. | ||||||||
| 404 | 찾을 수 없음 | 서버가 요청한 내용을 찾을 수 없습니다. | URL이 유효한 API 엔드포인트와 일치하는지 확인하세요. | ||||||||
| 405 | 허용되지 않는 메서드 | 엔드포인트가 해당 메서드를 지원하지 않습니다. | 문서에 표시된 대로 올바른 HTTP 메서드(예: GET, POST)를 사용하세요. | ||||||||
| 429 | 요청이 너무 많음 | 클라이언트가 1분 내에 너무 많은 요청을 보냈습니다. | 각 응답과 함께 전송되는 헤더를 사용하여 현재 속도 제한 상태를 확인할 수 있습니다.
| ||||||||
| 500 | 내부 서버 오류 | CountdownMail 측에서 문제가 발생했습니다. | 나중에 다시 시도하세요. 문제가 계속되면 지원팀에 문의하세요. | ||||||||
| 503 | 서비스 사용 불가 | 서버가 현재 너무 바쁩니다. | 잠시 기다렸다가 다시 시도하세요. |
오류 응답 예시 (401 Unauthorized):
응답
{
"status": "error",
"message": "Unauthorized"
}
오류가 표시되면 상태 코드와 메시지를 확인한 다음 권장 조치를 따르세요.
타이머 모델
타이머 리소스에는 카운트다운 타이머에 대한 모든 정보가 포함됩니다. 카운트다운 타이머를 정의하는 데 사용할 수 있는 필드입니다:
| 속성 | 유형 | 설명 | 필수 | 참고 |
|---|---|---|---|---|
| skin_id | 정수 | 타이머의 디자인 스타일 (템플릿). | 예 | 1에서 23 사이의 숫자여야 합니다. |
| name | 문자열 | 타이머 이름. | 예 | 최대 100자. 예: Big Sale! |
| time_end | 문자열 | 타이머 종료 시간 (YYYY-MM-DD HH:MM:SS). | 예 | 예: 2025-04-09 04:57:16 |
| time_zone | 문자열 | 타이머의 시간대. | 예 | 예: America/Los_Angeles. 사용 가능한 모든 time_zone 값 보기. |
| font_family | 문자열 | 타이머 텍스트용 글꼴. | 아니오 | 예: Roboto-Bold. 사용 가능한 모든 font_family 값 보기. |
| label_font_family | 문자열 | 타이머 레이블용 글꼴. | 아니오 | 예: Roboto-Bold. 사용 가능한 모든 font_family 값 보기. |
| color_primary | 문자열 | 메인 색상 (16진수 코드). | 예 | 예: FF3A43 (빨강). |
| color_text | 문자열 | 텍스트 색상 (16진수 코드). | 예 | 예: FFFFFF (흰색). |
| color_bg | 문자열 | 배경 색상 (16진수 코드). | 예 | 예: 000000 (검정). |
| font_size | 정수 | 타이머 텍스트 크기. | 아니오 | 14에서 73 사이. |
| label_font_size | 정수 | 레이블 텍스트 크기. | 아니오 | 0에서 50 사이. |
| day | 정수 | 일 표시 (0 = 아니오, 1 = 예). | 아니오 | 0 또는 1이어야 합니다. |
| lang | 문자열 | 언어 코드 (ISO 2자리). | 아니오 | 예: en (영어). 지원되는 54개 언어 모두 보기. |
| transparent | 정수 | 배경: 0 = 단색, 1 = 투명. | 아니오 | 0 또는 1이어야 합니다. |
| expired_mes_on | 정수 | 만료 메시지 표시 (0 = 아니오, 1 = 예). | 아니오 | 0 또는 1이어야 합니다. |
| expired_mes | 문자열 | 타이머 만료 시 메시지. | 아니오 | 최대 100자. 예: This offer has expired |
| labels | 정수 | 사용자 정의 레이블 사용 (0 = 아니오, 1 = 예). | 아니오 | 0 또는 1이어야 합니다. |
| days | 문자열 | 일 레이블. | 아니오 | 최대 15자. 예: days |
| hours | 문자열 | 시간 레이블. | 아니오 | 최대 15자. 예: hours |
| minutes | 문자열 | 분 레이블. | 아니오 | 최대 15자. 예: minutes |
| seconds | 문자열 | 초 레이블. | 아니오 | 최대 15자. 예: seconds |
| timer_type | 정수 | 타이머 유형: 1 = 공유 날짜 타이머, 2 = 개인 타이머, 3 = 링크 타이머. | 아니오 | 1, 2 또는 3이어야 합니다. 기본값은 1(공유 날짜 타이머)입니다. |
| duration | 정수 | 타이머 지속 시간(초 단위, 개인 타이머용). | 아니오 | timer_type이 2(개인 타이머)일 때 필수입니다. 예: 86400(24시간). |
| advanced_params | 객체 | 추가 설정 (예: 구분자 색상). | 아니오 | 예시 |
타이머 생성
이 엔드포인트를 사용하여 타이머를 생성할 수 있습니다. 새 타이머를 생성하려면 모든 필수 속성을 제공해야 합니다.
요청 예시:
요청
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
"skin_id":3,
"name":"Big Sale!",
"time_end":"2026-02-02 20:00:00",
"time_zone":"America\/Los_Angeles",
"font_family":"Roboto-Bold",
"color_primary":"FF3A43",
"color_text":"FFFFFF",
"color_bg":"000000",
"transparent":"0",
"font_size":"38",
"lang":"en",
"expired_mes_on":"1",
"expired_mes":"This offer has expired",
"labels":"1",
"days":"days",
"hours":"hours",
"minutes":"minutes",
"seconds":"seconds"
}'
응답
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
타이머 업데이트
이 엔드포인트를 사용하여 타이머 속성을 업데이트할 수 있습니다. 타이머를 업데이트하려면 업데이트할 필드와 함께 /update/{code}로 PUT 요청을 보내세요. {code}를 타이머 코드(예: "td")로 바꾸세요.
요청 예시:
요청
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X PUT "https://countdownmail.com/api/update/{code}" \
-d '{
"skin_id":6,
"name":"Flash Sale!",
"time_end":"2026-02-02 20:00:00"
}'
응답
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
타이머 복제
기존 타이머를 복사하려면 /duplicate/{code}로 POST 요청을 보내세요. {code}를 복사할 타이머의 고유 코드로 바꾸세요. 이렇게 하면 원본과 동일한 설정으로 새 타이머가 생성됩니다.
요청 본문에 JSON 객체를 추가하여 새 타이머의 세부 정보를 업데이트할 수 있습니다. 이렇게 하면 종료 시간이나 이름과 같은 특정 속성을 변경하면서 나머지는 원본과 동일하게 유지할 수 있습니다. 업데이트할 수 있는 속성은 새 타이머를 생성할 때 설정할 수 있는 것과 동일합니다 (전체 목록은 타이머 모델 섹션 참조). 속성을 포함하지 않으면 원본 타이머와 동일하게 유지됩니다.
중요: 원본 타이머는 변경되지 않습니다. 요청에서 보낸 업데이트는 새 타이머에만 적용됩니다.
요청 예시:
요청
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/duplicate/{code}" \
-d '{
"skin_id":6,
"name":"Flash Sale!",
"time_end":"2026-02-02 20:00:00"
}'
응답
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
타이머 비활성화
타이머를 중지(보관)하려면 /deactivate/{code}로 GET 요청을 보내세요. {code}를 타이머 코드로 바꾸세요.
타이머 활성화
타이머를 다시 활성화하려면 /activate/{code}로 GET 요청을 보내세요. {code}를 타이머 코드로 바꾸세요.
타이머 삭제
타이머를 삭제하려면 /delete/{code}로 DELETE 요청을 보내세요. {code}를 타이머 코드로 바꾸세요.
이 가이드를 통해 CountdownMail API 사용을 시작하는 데 필요한 모든 것을 얻을 수 있습니다. API 키를 안전하게 보관하고 시간대나 글꼴과 같은 필드에 대한 자세한 내용은 공식 문서를 참조하세요!
