-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnotification-service.json
More file actions
1 lines (1 loc) · 5.24 KB
/
Copy pathnotification-service.json
File metadata and controls
1 lines (1 loc) · 5.24 KB
1
{"openapi":"3.1.0","info":{"title":"KOK Notification Service API","description":"알림 조회, 읽음 처리, 미읽음 카운트 API","version":"v1"},"servers":[{"url":"http://localhost:8000","description":"Gateway"}],"security":[{"X-User-Id":[]}],"tags":[{"name":"Notification","description":"알림 API"}],"paths":{"/api/v1/notifications/{notificationId}/read":{"patch":{"tags":["Notification"],"summary":"알림 읽음 처리","operationId":"markAsRead","parameters":[{"name":"X-User-Id","in":"header","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"notificationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/notifications/read-all":{"patch":{"tags":["Notification"],"summary":"전체 알림 읽음 처리","operationId":"markAllAsRead","parameters":[{"name":"X-User-Id","in":"header","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}},"/api/v1/notifications":{"get":{"tags":["Notification"],"summary":"알림 목록 조회","operationId":"getNotifications","parameters":[{"name":"X-User-Id","in":"header","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Pageable"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponsePageNotificationResponse"}}}}}}},"/api/v1/notifications/unread-count":{"get":{"tags":["Notification"],"summary":"미읽음 개수 조회","operationId":"getUnreadCount","parameters":[{"name":"X-User-Id","in":"header","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseUnreadCountResponse"}}}}}}},"/api/v1/notifications/{notificationId}":{"delete":{"tags":["Notification"],"summary":"알림 삭제","operationId":"deleteNotification","parameters":[{"name":"X-User-Id","in":"header","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"notificationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResponseVoid"}}}}}}}},"components":{"schemas":{"ApiResponseVoid":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{}}},"Pageable":{"type":"object","properties":{"page":{"type":"integer","format":"int32","minimum":0},"size":{"type":"integer","format":"int32","minimum":1},"sort":{"type":"array","items":{"type":"string"}}}},"ApiResponsePageNotificationResponse":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageNotificationResponse"}}},"NotificationResponse":{"type":"object","properties":{"notificationId":{"type":"string","format":"uuid"},"referenceId":{"type":"string","format":"uuid"},"referenceType":{"type":"string","enum":["WAITING","RESERVATION","PAYMENT","REVIEW","USER"]},"notificationType":{"type":"string","enum":["WAITING_REGISTERED","WAITING_CALLED","WAITING_ENTERED","WAITING_CANCELLED","WAITING_NO_SHOW","RESERVATION_CONFIRMED","RESERVATION_CANCELLED","RESERVATION_VISITED","RESERVATION_NO_SHOW","RESERVATION_CHANGED","RESERVATION_REMINDER_1DAY","RESERVATION_REMINDER_1HOUR","PAYMENT_COMPLETED","PAYMENT_REFUNDED","PAYMENT_EXPIRY_WARNING","REVIEW_REQUEST","REVIEW_REPORT_RESULT","REVIEW_REPLY","USER_WELCOME","USER_OWNER_APPROVED","USER_OWNER_REJECTED","USER_PASSWORD_CHANGED"]},"message":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"read":{"type":"boolean"}}},"PageNotificationResponse":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"first":{"type":"boolean"},"last":{"type":"boolean"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/NotificationResponse"}},"number":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"empty":{"type":"boolean"}}},"PageableObject":{"type":"object","properties":{"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"paged":{"type":"boolean"},"unpaged":{"type":"boolean"},"offset":{"type":"integer","format":"int64"},"sort":{"$ref":"#/components/schemas/SortObject"}}},"SortObject":{"type":"object","properties":{"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"},"empty":{"type":"boolean"}}},"ApiResponseUnreadCountResponse":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UnreadCountResponse"}}},"UnreadCountResponse":{"type":"object","properties":{"unreadCount":{"type":"integer","format":"int64"}}}},"securitySchemes":{"X-User-Id":{"type":"apiKey","name":"X-User-Id","in":"header"},"X-User-Role":{"type":"apiKey","name":"X-User-Role","in":"header"}}}}