{"info":{"_postman_id":"515b018a-e89c-4a96-b15a-f8e75c5f60a6","name":"Liveclass","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"18752558","collectionId":"515b018a-e89c-4a96-b15a-f8e75c5f60a6","publishedId":"2sBXqKpLVx","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-05-04T07:20:11.000Z"},"item":[{"name":"[1-1] 판매 내역 등록","id":"35c580b4-5b49-4990-a895-ed9a5093a441","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"courseId\": 1,\n    \"studentId\": 1,\n    \"amount\": 30000,\n    \"paidAt\": \"2038-05-01T10:30:21\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/sale-record","urlObject":{"protocol":"http","port":"8080","path":["api","sale-record"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"23065ec4-161c-4661-b591-d17abaede0f0","name":"200 - 성공","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"courseId\": 1,\n    \"studentId\": 1,\n    \"amount\": 30000,\n    \"paidAt\": \"2026-04-30T10:30:21\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/sale-record"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"122"},{"key":"Date","value":"Thu, 30 Apr 2026 03:05:00 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 8,\n    \"courseId\": 1,\n    \"studentId\": 1,\n    \"amount\": 30000,\n    \"paidAt\": \"2026-04-30T10:30:21\",\n    \"createdAt\": \"2026-04-30T12:04:59.959741\"\n}"},{"id":"e82b0451-9c54-4fcd-a22a-cb8301a99593","name":"400 - 유효하지 않은 값 입력","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"courseId\": 0,\n    \"studentId\": 1,\n    \"amount\": 30000,\n    \"paidAt\": \"2026-04-30T10:30:21\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/sale-record"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 30 Apr 2026 03:09:59 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": \"-2\",\n    \"message\": \"Bad Request Field Error Occurred\",\n    \"extra\": {\n        \"courseId\": \"1 이상이어야 합니다\"\n    }\n}"},{"id":"9f9bb8bf-91e0-4358-9986-708a28a732c2","name":"404 - 강의가 존재하지 않음","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"courseId\": 5,\n    \"studentId\": 1,\n    \"amount\": 30000,\n    \"paidAt\": \"2026-04-30T10:30:21\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/sale-record"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 30 Apr 2026 03:24:01 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": \"-100\",\n    \"message\": \"Course is not exists\",\n    \"extra\": null\n}"}],"_postman_id":"35c580b4-5b49-4990-a895-ed9a5093a441"},{"name":"[1-2] 취소 내역 등록","id":"5eb89d04-db35-4b41-9005-4e6b783490c9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"saleRecordId\": 1,\n    \"amount\": 20000,\n    \"cancelAt\": \"2023-12-03T12:42:20\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/cancel-record","urlObject":{"protocol":"http","port":"8080","path":["api","cancel-record"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"66197a72-b585-4144-a1ea-81fdb48580b9","name":"200 - 성공","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"saleRecordId\": 1,\n    \"amount\": 20000,\n    \"cancelAt\": \"2026-04-30T12:42:20\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/cancel-record"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"113"},{"key":"Date","value":"Thu, 30 Apr 2026 09:24:51 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"id\": 4,\n    \"saleRecordId\": 1,\n    \"amount\": 20000,\n    \"cancelAt\": \"2023-12-03T12:42:20\",\n    \"createdAt\": \"2026-04-30T18:24:51.31768\"\n}"},{"id":"99c4a141-ffd6-4b01-a39a-7f3e586bd6e0","name":"400 - 유효하지 않은 값 입력","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"saleRecordId\": 0,\n    \"amount\": -1,\n    \"cancelAt\": null\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/cancel-record"},"status":"Bad Request","code":400,"_postman_previewlanguage":"","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 30 Apr 2026 09:23:50 GMT"},{"key":"Connection","value":"close"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"errorCode\": \"-2\",\n    \"message\": \"Bad Request Field Error Occurred\",\n    \"extra\": {\n        \"amount\": \"1 이상이어야 합니다\",\n        \"cancelAt\": \"널이어서는 안됩니다\",\n        \"saleRecordId\": \"1 이상이어야 합니다\"\n    }\n}"},{"id":"da66e0a7-dfcd-4e4e-aa97-1d5f6469173d","name":"404 - 판매 내역이 존재하지 않음","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"saleRecordId\": 1000,\n    \"amount\": 20000,\n    \"cancelAt\": \"2023-12-03T12:42:20\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/cancel-record"},"status":"Not Found","code":404,"_postman_previewlanguage":"","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 30 Apr 2026 09:25:49 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"errorCode\": \"-101\",\n    \"message\": \"Sale record is not exists\",\n    \"extra\": null\n}"},{"id":"bf104198-440c-4a36-ac5e-6065689136d7","name":"400 - 취소일이 판매 일보다 이전일 수 없음","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"saleRecordId\": 1,\n    \"amount\": 20000,\n    \"cancelAt\": \"2023-12-03T12:42:20\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/cancel-record"},"status":"Bad Request","code":400,"_postman_previewlanguage":"","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 30 Apr 2026 09:45:22 GMT"},{"key":"Connection","value":"close"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"errorCode\": \"-103\",\n    \"message\": \"Cancel at must not be before paid at\",\n    \"extra\": null\n}"},{"id":"e8fdfc5a-f917-4892-af31-2fbc05acc067","name":"400 - 취소일은 미래일 수 없음","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"saleRecordId\": 1,\n    \"amount\": 20000,\n    \"cancelAt\": \"2100-12-03T12:42:20\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/cancel-record"},"status":"Bad Request","code":400,"_postman_previewlanguage":"","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 30 Apr 2026 09:59:34 GMT"},{"key":"Connection","value":"close"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"errorCode\": \"-104\",\n    \"message\": \"Cancel at must not be in the future\",\n    \"extra\": null\n}"}],"_postman_id":"5eb89d04-db35-4b41-9005-4e6b783490c9"},{"name":"[1-2] 판매 내역 목록 조회","id":"cf4905b2-1ab6-49e8-aa48-890ad94d1b1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"userId","value":"1","description":"<p>1 - ADMIN, 2 - CREATOR</p>\n","type":"text"}],"url":"http://localhost:8080/api/sale-record?startDate=2025-03-10&endDate=2026-05-10","urlObject":{"protocol":"http","port":"8080","path":["api","sale-record"],"host":["localhost"],"query":[{"disabled":true,"key":"creatorId","value":"2"},{"key":"startDate","value":"2025-03-10"},{"key":"endDate","value":"2026-05-10"}],"variable":[]}},"response":[{"id":"fc693878-bac4-4e41-8cee-0dd655a154e1","name":"200 - [어드민] 성공","originalRequest":{"method":"GET","header":[{"key":"userId","value":"1","description":"1 - ADMIN, 2 - CREATOR","type":"text"}],"url":{"raw":"http://localhost:8080/api/sale-record","protocol":"http","host":["localhost"],"port":"8080","path":["api","sale-record"],"query":[{"key":"creatorId","value":"1","disabled":true},{"key":"startDate","value":null,"type":"text","disabled":true},{"key":"endDate","value":null,"type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"2605"},{"key":"Date","value":"Sat, 02 May 2026 01:29:37 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 14,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2037-05-01T10:30:21\",\n        \"createdAt\": \"2026-04-30T19:01:18\"\n    },\n    {\n        \"id\": 13,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2036-05-01T10:30:21\",\n        \"createdAt\": \"2026-04-30T19:01:12\"\n    },\n    {\n        \"id\": 12,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2030-05-01T10:30:21\",\n        \"createdAt\": \"2026-04-30T19:01:08\"\n    },\n    {\n        \"id\": 11,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-05-01T10:30:21\",\n        \"createdAt\": \"2026-04-30T19:01:02\"\n    },\n    {\n        \"id\": 10,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-04-30T10:30:21\",\n        \"createdAt\": \"2026-04-30T19:00:55\"\n    },\n    {\n        \"id\": 9,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-04-30T10:30:21\",\n        \"createdAt\": \"2026-04-30T18:59:58\"\n    },\n    {\n        \"id\": 8,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-04-30T10:30:21\",\n        \"createdAt\": \"2026-04-30T12:05:00\"\n    },\n    {\n        \"id\": 4,\n        \"course\": {\n            \"id\": 2,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"JPA 실전\"\n        },\n        \"studentId\": 4,\n        \"amount\": 80000,\n        \"paidAt\": \"2025-03-22T11:00:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 3,\n        \"course\": {\n            \"id\": 2,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"JPA 실전\"\n        },\n        \"studentId\": 3,\n        \"amount\": 80000,\n        \"paidAt\": \"2025-03-20T09:00:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 2,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 2,\n        \"amount\": 50000,\n        \"paidAt\": \"2025-03-15T14:30:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 6,\n        \"course\": {\n            \"id\": 3,\n            \"creator\": {\n                \"id\": 2,\n                \"name\": \"이강사\"\n            },\n            \"title\": \"Kotlin 기초\"\n        },\n        \"studentId\": 6,\n        \"amount\": 60000,\n        \"paidAt\": \"2025-03-10T16:00:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 1,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 50000,\n        \"paidAt\": \"2025-03-05T10:00:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 7,\n        \"course\": {\n            \"id\": 4,\n            \"creator\": {\n                \"id\": 3,\n                \"name\": \"박강사\"\n            },\n            \"title\": \"MSA 설계\"\n        },\n        \"studentId\": 7,\n        \"amount\": 120000,\n        \"paidAt\": \"2025-02-14T10:00:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 5,\n        \"course\": {\n            \"id\": 3,\n            \"creator\": {\n                \"id\": 2,\n                \"name\": \"이강사\"\n            },\n            \"title\": \"Kotlin 기초\"\n        },\n        \"studentId\": 5,\n        \"amount\": 60000,\n        \"paidAt\": \"2025-01-31T23:30:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    }\n]"},{"id":"a992eab2-d935-465d-baa0-186a506e1aa4","name":"200 - [크리에이터] 성공","originalRequest":{"method":"GET","header":[{"key":"userId","value":"2","description":"1 - ADMIN, 2 - CREATOR","type":"text"}],"url":{"raw":"http://localhost:8080/api/sale-record?startDate=2025-03-10&endDate=2026-05-10","protocol":"http","host":["localhost"],"port":"8080","path":["api","sale-record"],"query":[{"key":"creatorId","value":"1","disabled":true},{"key":"startDate","value":"2025-03-10","type":"text"},{"key":"endDate","value":"2026-05-10","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1303"},{"key":"Date","value":"Sat, 02 May 2026 01:33:48 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 11,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-05-01T10:30:21\",\n        \"createdAt\": \"2026-04-30T19:01:02\"\n    },\n    {\n        \"id\": 10,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-04-30T10:30:21\",\n        \"createdAt\": \"2026-04-30T19:00:55\"\n    },\n    {\n        \"id\": 9,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-04-30T10:30:21\",\n        \"createdAt\": \"2026-04-30T18:59:58\"\n    },\n    {\n        \"id\": 8,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 1,\n        \"amount\": 30000,\n        \"paidAt\": \"2026-04-30T10:30:21\",\n        \"createdAt\": \"2026-04-30T12:05:00\"\n    },\n    {\n        \"id\": 4,\n        \"course\": {\n            \"id\": 2,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"JPA 실전\"\n        },\n        \"studentId\": 4,\n        \"amount\": 80000,\n        \"paidAt\": \"2025-03-22T11:00:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 3,\n        \"course\": {\n            \"id\": 2,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"JPA 실전\"\n        },\n        \"studentId\": 3,\n        \"amount\": 80000,\n        \"paidAt\": \"2025-03-20T09:00:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    },\n    {\n        \"id\": 2,\n        \"course\": {\n            \"id\": 1,\n            \"creator\": {\n                \"id\": 1,\n                \"name\": \"김강사\"\n            },\n            \"title\": \"Spring Boot 입문\"\n        },\n        \"studentId\": 2,\n        \"amount\": 50000,\n        \"paidAt\": \"2025-03-15T14:30:00\",\n        \"createdAt\": \"2026-04-30T02:53:42\"\n    }\n]"},{"id":"a689d159-0156-427c-84e2-144b75b677db","name":"403 - [크리에이터] 다른 크리에이터의 목록 조회 불가","originalRequest":{"method":"GET","header":[{"key":"userId","value":"2","description":"1 - ADMIN, 2 - CREATOR","type":"text"}],"url":{"raw":"http://localhost:8080/api/sale-record?creatorId=2&startDate=2025-03-10&endDate=2026-05-10","protocol":"http","host":["localhost"],"port":"8080","path":["api","sale-record"],"query":[{"key":"creatorId","value":"2"},{"key":"startDate","value":"2025-03-10","type":"text"},{"key":"endDate","value":"2026-05-10","type":"text"}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Sat, 02 May 2026 01:34:11 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": \"-11\",\n    \"message\": \"Access denied\",\n    \"extra\": null\n}"},{"id":"81ed7472-dcb6-42bc-a6c7-889b6fddb927","name":"400 - 시작일이 종료일보다 이후일 수 없음","originalRequest":{"method":"GET","header":[{"key":"userId","value":"1","description":"1 - ADMIN, 2 - CREATOR","type":"text"}],"url":{"raw":"http://localhost:8080/api/sale-record?creatorId=2&startDate=2025-03-10&endDate=2024-05-10","protocol":"http","host":["localhost"],"port":"8080","path":["api","sale-record"],"query":[{"key":"creatorId","value":"2"},{"key":"startDate","value":"2025-03-10","type":"text"},{"key":"endDate","value":"2024-05-10","type":"text"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Sat, 02 May 2026 01:35:34 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorCode\": \"-105\",\n    \"message\": \"Start date must not be after end date\",\n    \"extra\": null\n}"}],"_postman_id":"cf4905b2-1ab6-49e8-aa48-890ad94d1b1a"},{"name":"[2-1] 정산 내역 목록 조회","event":[{"listen":"test","script":{"id":"7f26fb98-4fda-41f2-bc81-59b802c2505f","exec":["pm.test('HTTP status is successful for this request setup', function () {","  pm.expect([200, 400, 403]).to.include(pm.response.code);","});","","pm.test('Response is valid JSON', function () {","  pm.response.to.be.json;","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"cb8793b1-49d3-423f-97b3-1802458461cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"userId","value":"1","description":"<p>1 = ADMIN, 2 = CREATOR</p>\n"}],"url":"http://localhost:8080/api/settlement","description":"<p>정산 내역 목록을 조회합니다. 현재 구현에서는 userId 헤더로 사용자를 식별합니다. userId=1은 ADMIN, userId=2는 creatorId=1에 매핑된 CREATOR입니다.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","settlement"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>조회 연월. yyyy-MM 형식입니다.</p>\n","type":"text/plain"},"key":"month","value":"2"},{"disabled":true,"description":{"content":"<p>ADMIN은 생략 또는 임의 creatorId 조회 가능, CREATOR는 본인 creatorId만 조회 가능합니다.</p>\n","type":"text/plain"},"key":"creatorId","value":"1"}],"variable":[]}},"response":[{"id":"b36b59d8-a366-4274-8d0a-32ccd82becdc","name":"200 - [어드민] 성공","originalRequest":{"method":"GET","header":[{"key":"userId","value":"1"}],"url":{"raw":"http://localhost:8080/api/settlement?month=2025-03&creatorId=1","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement"],"query":[{"key":"month","value":"2025-03"},{"key":"creatorId","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[]"},{"id":"a1e9c7b8-1baf-488e-a3fd-f0d59918de20","name":"200 - [크리에이터] 성공","originalRequest":{"method":"GET","header":[{"key":"userId","value":"2"}],"url":{"raw":"http://localhost:8080/api/settlement?month=2025-03&creatorId=1","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement"],"query":[{"key":"month","value":"2025-03"},{"key":"creatorId","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[]"},{"id":"15844ea1-457e-4085-a048-2f7005da6016","name":"403 - [크리에이터] 다른 크리에이터의 목록 조회 불가","originalRequest":{"method":"GET","header":[{"key":"userId","value":"2"}],"url":{"raw":"http://localhost:8080/api/settlement?month=2025-03&creatorId=2","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement"],"query":[{"key":"month","value":"2025-03"},{"key":"creatorId","value":"2"}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-11\",\n  \"message\": \"Access denied\",\n  \"extra\": null\n}"},{"id":"731cf834-6ac9-434d-ad9d-c841d4c6d3ec","name":"400 - month 형식 오류","originalRequest":{"method":"GET","header":[{"key":"userId","value":"1"}],"url":{"raw":"http://localhost:8080/api/settlement?month=2025-03-01&creatorId=1","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement"],"query":[{"key":"month","value":"2025-03-01","description":"잘못된 형식입니다. 정상 형식은 yyyy-MM입니다."},{"key":"creatorId","value":"1"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-4\",\n  \"message\": \"Bad Request Query Param Error Occurred\",\n  \"extra\": null\n}"}],"_postman_id":"cb8793b1-49d3-423f-97b3-1802458461cb"},{"name":"[2-2] 정산 생성","event":[{"listen":"test","script":{"id":"c5d5bd61-d468-412b-bb6d-7ba04d8035d4","exec":["pm.test('HTTP status is successful for this request setup', function () {","  pm.expect([200, 400, 403]).to.include(pm.response.code);","});","","pm.test('Response is valid JSON', function () {","  pm.response.to.be.json;","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"f41c5196-d76b-4e9b-bd65-4f02ef927938","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"userId","value":"1","description":"<p>1 = ADMIN, 2 = CREATOR</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"creatorId\": 1,\n  \"month\": \"2026-04\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/settlement","description":"<p>ADMIN이 수동 정산을 생성합니다. 기본 요청은 creatorId=1의 2025-03 정산 생성입니다. 각 응답 예시는 같은 API의 성공, 권한 오류, 중복, 월 검증 오류, 월 순서 오류, 0원 정산 케이스를 보여줍니다.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","settlement"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e1f80f68-017d-4921-96c9-bc07979f9fc1","name":"200 - [어드민] 성공","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"creatorId\": 1,\n  \"month\": \"2025-03\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/settlement"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"creatorId\": 1,\n  \"settlementMonth\": \"2025-03-01\",\n  \"settlementId\": 1,\n  \"status\": \"PENDING\",\n  \"totalSaleAmount\": 260000,\n  \"totalCancelAmount\": 110000,\n  \"netSalesAmount\": 150000,\n  \"commissionRate\": 20,\n  \"commissionAmount\": 30000,\n  \"settlementAmount\": 120000,\n  \"saleCount\": 4,\n  \"cancelCount\": 2\n}"},{"id":"fc7ad2a4-a7d4-4b43-b408-7be822ede560","name":"400 - 중복 정산 생성 불가","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"creatorId\": 1,\n  \"month\": \"2025-03\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/settlement"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-200\",\n  \"message\": \"Settlement already exists\",\n  \"extra\": null\n}"},{"id":"7a6eef22-a3a6-47c8-8a7f-6b08b2ca1082","name":"403 - [크리에이터] 정산 생성 불가","originalRequest":{"method":"POST","header":[{"key":"userId","value":"2"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"creatorId\": 1,\n  \"month\": \"2025-04\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/settlement"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-11\",\n  \"message\": \"Access denied\",\n  \"extra\": null\n}"},{"id":"0d34f76e-6732-43cd-bc4e-0eb5dd220a22","name":"400 - 마감되지 않은 월 정산 생성 불가","originalRequest":{"method":"POST","header":[{"key":"userId","value":"1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"creatorId\": 1,\n  \"month\": \"2099-01\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/settlement"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-201\",\n  \"message\": \"Settlement month must be before current month\",\n  \"extra\": null\n}"}],"_postman_id":"f41c5196-d76b-4e9b-bd65-4f02ef927938"},{"name":"GET [3-1] 운영자용 정산 예정 금액 목록","id":"e571518d-3cb5-4852-bce1-a2ab9ae82a64","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"userId","value":"1","type":"text"}],"url":"http://localhost:8080/api/settlement/summary?startMonth=2025-03&endMonth=2026-04","urlObject":{"protocol":"http","port":"8080","path":["api","settlement","summary"],"host":["localhost"],"query":[{"key":"startMonth","value":"2025-03"},{"key":"endMonth","value":"2026-04"}],"variable":[]}},"response":[{"id":"cddc0cb8-a3b6-473e-80b9-c352c84c01f8","name":"200 - [어드민] 성공","originalRequest":{"method":"GET","header":[{"key":"userId","value":"1","type":"text"}],"url":{"raw":"http://localhost:8080/api/settlement/summary?startMonth=2025-03&endMonth=2025-04","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement","summary"],"query":[{"key":"startMonth","value":"2025-03"},{"key":"endMonth","value":"2025-04"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"settlements\": [\n    {\n      \"creatorId\": 1,\n      \"settlements\": [\n        {\n          \"creatorId\": 1,\n          \"settlementMonth\": \"2025-04-01\",\n          \"settlementAmount\": 64000\n        },\n        {\n          \"creatorId\": 1,\n          \"settlementMonth\": \"2025-03-01\",\n          \"settlementAmount\": 64000\n        }\n      ],\n      \"totalSettlementAmount\": 128000\n    }\n  ],\n  \"totalSettlementAmount\": 128000\n}"},{"id":"60fe1d53-87db-482d-af7a-c15881779663","name":"400 - 시작월이 종료월보다 뒤","originalRequest":{"method":"GET","header":[{"key":"userId","value":"1","type":"text"}],"url":{"raw":"http://localhost:8080/api/settlement/summary?startMonth=2025-04&endMonth=2025-03","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement","summary"],"query":[{"key":"startMonth","value":"2025-04"},{"key":"endMonth","value":"2025-03"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-105\",\n  \"message\": \"Start date must not be after end date\",\n  \"extra\": null\n}"},{"id":"5fa3d0f4-a635-4b51-9a63-30ba9b9d2ea9","name":"400 - 미래월 정산 조회 불가","originalRequest":{"method":"GET","header":[{"key":"userId","value":"1","type":"text"}],"url":{"raw":"http://localhost:8080/api/settlement/summary?startMonth=2025-03&endMonth=2099-12","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement","summary"],"query":[{"key":"startMonth","value":"2025-03"},{"key":"endMonth","value":"2099-12"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-203\",\n  \"message\": \"Settlement summary month must not be after current month\",\n  \"extra\": null\n}"},{"id":"8b1f0f9c-33bb-44d4-922f-777e05dbfcb3","name":"403 - [크리에이터] 정산 조회 불가","originalRequest":{"method":"GET","header":[{"key":"userId","value":"2","type":"text"}],"url":{"raw":"http://localhost:8080/api/settlement/summary?startMonth=2025-03&endMonth=2025-04","protocol":"http","host":["localhost"],"port":"8080","path":["api","settlement","summary"],"query":[{"key":"startMonth","value":"2025-03"},{"key":"endMonth","value":"2025-04"}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"-11\",\n  \"message\": \"Access denied\",\n  \"extra\": null\n}"}],"_postman_id":"e571518d-3cb5-4852-bce1-a2ab9ae82a64"}]}