- anipharm_api.py: 동물약 PDF 생성 API 추가 - data/master/*.json: 16종 마스터 데이터 업데이트 - templates: medication_guide_v2, 로고 추가 - docs: AI 매핑 아키텍처, API 스펙 문서 - .gitignore: _dev_scripts/, *.db 제외 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.8 KiB
4.8 KiB
애니팜 투약지도서 API 명세서
Base URL:
https://ap.0bin.in
Local:http://localhost:7002
Version: 1.0.0
Last Updated: 2026-03-19
📋 엔드포인트 목록
| Method | Endpoint | 설명 |
|---|---|---|
| GET | /health |
헬스체크 |
| GET | /api/products |
약품 목록 조회 |
| POST | /api/guide/pdf |
PDF 생성 |
| POST | /api/guide/preview |
미리보기 (메타데이터) |
1. 헬스체크
서버 상태 확인
Request
GET /health
Response
{
"status": "ok",
"service": "anipharm-api",
"timestamp": "2026-03-19T20:01:13.292109"
}
2. 약품 목록 조회
등록된 모든 약품 목록 반환
Request
GET /api/products
Response
{
"success": true,
"count": 21,
"products": [
{
"product_id": "MASTER-001",
"name": "넥스가드 스펙트라",
"category": "antiparasitic",
"category_display": "올인원 구충제"
},
{
"product_id": "MASTER-002",
"name": "아시카프 츄어블정",
"category": "nsaid",
"category_display": "진통소염제 (NSAIDs)"
}
// ... 21개
]
}
3. PDF 생성
투약지도서 PDF 파일 생성 및 다운로드
Request
POST /api/guide/pdf
Content-Type: application/json
Request Body
{
"product_ids": ["MASTER-001", "MASTER-002", "MASTER-005"],
"patient_name": "김남곤",
"pet_name": "뽀삐",
"pet_species": "푸들",
"pet_age": "3세",
"pharmacy_name": "청춘약국 동물약 전문상담",
"pharmacy_tel": "033-481-0384"
}
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
| product_ids | string[] | ✅ | 약품 ID 배열 |
| patient_name | string | ❌ | 보호자 이름 (기본: "보호자") |
| pet_name | string | ❌ | 반려동물 이름 (기본: "반려동물") |
| pet_species | string | ❌ | 품종 |
| pet_age | string | ❌ | 나이 |
| pharmacy_name | string | ❌ | 약국명 (기본: "청춘약국 동물약 전문상담") |
| pharmacy_tel | string | ❌ | 전화번호 (기본: "033-481-0384") |
Response
- Success:
application/pdf(PDF 파일 다운로드) - Error:
{
"success": false,
"error": "에러 메시지"
}
cURL 예시
curl -X POST https://ap.0bin.in/api/guide/pdf \
-H "Content-Type: application/json" \
-d '{
"product_ids": ["MASTER-001", "MASTER-002"],
"patient_name": "김남곤",
"pet_name": "뽀삐",
"pet_species": "푸들",
"pet_age": "3세"
}' \
--output 투약지도서.pdf
4. 미리보기 (메타데이터)
PDF 생성 전 약품 정보 및 예상 페이지 수 확인
Request
POST /api/guide/preview
Content-Type: application/json
Request Body
{
"product_ids": ["MASTER-001", "MASTER-002", "MASTER-005"]
}
Response
{
"success": true,
"drug_count": 3,
"page_count": 1,
"drugs": [
{
"id": "MASTER-001",
"name": "넥스가드 스펙트라",
"category": "antiparasitic",
"has_image": true
},
{
"id": "MASTER-002",
"name": "아시카프 츄어블정",
"category": "nsaid",
"has_image": true
},
{
"id": "MASTER-005",
"name": "하트세이버 츄어블",
"category": "antiparasitic",
"has_image": true
}
]
}
📦 등록된 약품 목록 (21개)
| ID | 이름 | 카테고리 |
|---|---|---|
| MASTER-001 | 넥스가드 스펙트라 | antiparasitic |
| MASTER-002 | 아시카프 츄어블정 | nsaid |
| MASTER-003 | 아시엔로 50 | antibiotic |
| MASTER-004 | 세레니아 정 | antiemetic |
| MASTER-005 | 하트세이버 츄어블 | antiparasitic |
| MASTER-006 | 프로닐스팟 | antiparasitic |
| MASTER-007 | 오리더밀 | otic |
| MASTER-008 | 터비덤 스프레이 | antifungal |
| MASTER-009 | 클로르헥시딘 샴푸 | topical |
| MASTER-010 | 셀라이트 | antiparasitic |
| MASTER-011 | 멜록시캐시 CH | nsaid |
| MASTER-012 | 복합 개시딘 겔 | topical |
| MASTER-013 | 임팩트액 | antiparasitic |
| MASTER-014 | 안텔민 뽀삐/킹 | antiparasitic |
| MASTER-015 | 티어가드 정 | antibiotic |
| MASTER-016 | 액티벳정 | antibiotic |
| MASTER-017 | 아포퀠 | immunomodulator |
| MASTER-018 | 브라벡토 | antiparasitic |
| MASTER-019 | 심파리카 트리오 | antiparasitic |
| MASTER-020 | 가바펜틴 | analgesic |
| MASTER-021 | 메트로니다졸 | antibiotic |
🔧 서버 정보
| 항목 | 값 |
|---|---|
| 프레임워크 | Flask |
| 포트 | 7002 |
| PM2 이름 | anipharm-api |
| PDF 엔진 | WeasyPrint |
| 페이지당 약품 | 4개 |
📝 변경 이력
| 날짜 | 버전 | 내용 |
|---|---|---|
| 2026-03-19 | 1.0.0 | 최초 배포 |