QR 라벨 생성기 API 문서
개요
이 API는 QR 코드가 포함된 라벨을 생성하는 서비스입니다. 기기 문서와 과제 문서 두 가지 유형의 라벨을 생성할 수 있습니다.
Base URL
http://localhost:5000
엔드포인트
GET/api/health
서비스 상태를 확인합니다.
응답 예시
{
"status": "healthy",
"timestamp": "2024-01-01T12:00:00.000000",
"version": "1.0.0"
}
POST/api/create_label
라벨을 생성합니다.
요청 헤더
Content-Type: application/json
요청 파라미터
| 필드 |
타입 |
필수 |
설명 |
| doc_type |
string |
필수 |
"1" (기기 문서) 또는 "2" (과제 문서) |
| binder_size |
integer |
필수 |
1, 3, 5, 7 중 하나 (바인더 크기) |
기기 문서 (doc_type: "1") 추가 필드
| 필드 |
타입 |
필수 |
설명 |
| eq_number |
string |
필수 |
기기 번호 |
| eq_doc_number |
string |
필수 |
문서 번호 |
| eq_doc_title |
string |
필수 |
문서 제목 |
| eq_doc_count |
integer |
필수 |
문서 개수 |
| eq_doc_department |
string |
필수 |
부서 |
| eq_doc_year |
integer |
필수 |
연도 |
과제 문서 (doc_type: "2") 추가 필드
| 필드 |
타입 |
필수 |
설명 |
| pjt_number |
string |
필수 |
과제 번호 |
| pjt_test_number |
string |
필수 |
시험 번호 |
| pjt_doc_title |
string |
필수 |
문서 제목 |
| pjt_doc_writer |
string |
필수 |
작성자 |
| pjt_doc_count |
integer |
필수 |
문서 개수 |
요청 예시 (기기 문서)
{
"doc_type": "1",
"binder_size": 5,
"eq_number": "EQ001",
"eq_doc_number": "DOC001",
"eq_doc_title": "테스트 문서",
"eq_doc_count": 3,
"eq_doc_department": "기술부",
"eq_doc_year": 2024
}
요청 예시 (과제 문서)
{
"doc_type": "2",
"binder_size": 3,
"pjt_number": "PJT001",
"pjt_test_number": "TEST001",
"pjt_doc_title": "과제 문서",
"pjt_doc_writer": "홍길동",
"pjt_doc_count": 2
}
성공 응답
{
"success": true,
"message": "라벨이 성공적으로 생성되었습니다.",
"filename": "DOC001_20240101120000.xlsx",
"download_url": "/download/DOC001_20240101120000.xlsx"
}
GET/api/qr_image/<qr_text>
QR 코드 이미지를 PNG 형식으로 생성합니다.
URL 파라미터
qr_text
(string, 필수): QR 코드에 포함할 텍스트
응답
PNG 이미지 파일
POST/api/qr_image_base64
QR 코드 이미지를 base64 형식으로 생성합니다.
요청 파라미터
{
"text": "QR 코드에 포함할 텍스트"
}
응답 예시
{
"success": true,
"image_base64": "iVBORw0KGgoAAAANSUhEUgAA...",
"mime_type": "image/png"
}
GET/download/<filename>
생성된 파일을 다운로드합니다.
URL 파라미터
filename
(string, 필수): 다운로드할 파일명
GET/api/logs
애플리케이션 로그를 조회합니다.
쿼리 파라미터
| 파라미터 |
타입 |
기본값 |
설명 |
| lines |
integer |
100 |
가져올 로그 줄 수 (최대 1000) |
| level |
string |
all |
로그 레벨 필터 |
| search |
string |
"" |
검색어 |
POST/api/logs/clear
로그 파일을 초기화합니다.
GET/api/logs/download
로그 파일을 다운로드합니다.
오류 응답
모든 API 엔드포인트는 오류 발생 시 다음과 같은 형식으로 응답합니다:
{
"error": "오류 메시지"
}
주의사항
- 과제 문서(doc_type: "2")의 경우 binder_size 1을 사용할 수 없습니다.
- 생성된 파일은 10분 후 자동으로 삭제됩니다.
- 모든 텍스트 필드는 개행 문자가 자동으로 제거됩니다.