배송 서비스 (Shipping)
개요
배송 서비스는 주문 상품의 배송 생성, 추적, 상태 관리를 담당합니다. 국내 주요 택배사(CJ대한통운, 한진택배, 롯데택배)와 연동하여 실시간 배송 추적을 제공합니다.
| 항목 | 값 |
|---|---|
| 언어 | Python 3.11 |
| 프레임워크 | FastAPI |
| 데이터베이스 | Aurora PostgreSQL |
| 네임스페이스 | mall-services |
| 포트 | 8000 |
| 헬스체크 | GET /health |
아키텍처
API 엔드포인트
배송 API
| 메서드 | 경로 | 설명 |
|---|---|---|
GET | /api/v1/shipments/{order_id} | 주문별 배송 조회 |
POST | /api/v1/shipments | 배송 생성 |
PUT | /api/v1/shipments/{shipment_id}/status | 배송 상태 업데이트 |
GET | /api/v1/shipments/{shipment_id}/tracking | 배송 추적 이력 |
요청/응답 예시
주문별 배송 조회
요청:
GET /api/v1/shipments/order_001
응답:
{
"id": "ship_001",
"order_id": "order_001",
"user_id": "user_001",
"shipping_address": "서울특별시 강남구 테헤란로 123, 456호",
"carrier": "CJ대한통운",
"tracking_number": "1234567890123",
"status": "IN_TRANSIT",
"tracking_history": [
{
"status": "PENDING",
"location": null,
"description": "배송 준비 중",
"timestamp": "2024-01-15T10:00:00Z"
},
{
"status": "PICKED_UP",
"location": "서울 송파 물류센터",
"description": "상품을 인수했습니다",
"timestamp": "2024-01-15T14:00:00Z"
},
{
"status": "IN_TRANSIT",
"location": "대전 허브터미널",
"description": "배송 중입니다",
"timestamp": "2024-01-16T08:00:00Z"
}
],
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-16T08:00:00Z"
}