| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455 |
- {
- "info": {
- "_postman_id": "a1b2c3d4-1001-4000-a001-000000000002",
- "name": "Donation",
- "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
- "_exporter_id": "40701166"
- },
- "item": [
- {
- "name": "후원",
- "item": [
- {
- "name": "후원 전송",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"SponsorMemberID\": 0,\n \"ChannelID\": 1,\n \"Amount\": 1000,\n \"Message\": \"응원합니다!\",\n \"SendName\": \"익명후원자\",\n \"CrewSessionID\": null,\n \"CrewMemberID\": null,\n \"IsTest\": false\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/api/donation/send",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "send"
- ]
- },
- "description": "후원을 전송합니다. 지갑 차감 후 Donation 생성, 알림 큐 및 SignalR 브로드캐스트."
- },
- "response": []
- },
- {
- "name": "후원 내역",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/donation/history?type=sent&page=1&perPage=20",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "history"
- ],
- "query": [
- {
- "key": "type",
- "value": "sent",
- "description": "sent=보낸 후원, received=받은 후원"
- },
- {
- "key": "page",
- "value": "1"
- },
- {
- "key": "perPage",
- "value": "20"
- }
- ]
- },
- "description": "후원 내역을 조회합니다. type으로 보낸/받은 후원을 구분합니다."
- },
- "response": []
- }
- ]
- },
- {
- "name": "알림 위젯",
- "item": [
- {
- "name": "알림 설정 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/donation/alert/config/1",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "alert",
- "config",
- "1"
- ]
- },
- "description": "채널 ID로 후원 알림 위젯 설정을 조회합니다. OBS 브라우저 소스용."
- },
- "response": []
- },
- {
- "name": "알림 설정 저장",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"ChannelID\": 1,\n \"MemberID\": 0,\n \"ID\": null,\n \"Title\": \"기본 알림\",\n \"Amount\": 1000,\n \"Message\": \"{{sender}}님이 {{amount}}원을 후원했습니다!\",\n \"PlayDelaySec\": 0.0,\n \"DisplayDurationSec\": 5.0,\n \"Sound\": null,\n \"EnableThumbnail\": true,\n \"ThumbnailUrl\": null,\n \"IsActive\": true\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/api/donation/alert/config",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "alert",
- "config"
- ]
- },
- "description": "후원 알림 위젯 설정을 저장/수정합니다."
- },
- "response": []
- }
- ]
- },
- {
- "name": "리모콘",
- "item": [
- {
- "name": "리모콘 상태 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/donation/remote/state/1",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "remote",
- "state",
- "1"
- ]
- },
- "description": "리모콘 상태(일시정지/후원수신/음성만/영상만) 및 대기열을 조회합니다."
- },
- "response": []
- },
- {
- "name": "리모콘 상태 변경",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"ChannelID\": 1,\n \"MemberID\": 0,\n \"IsPaused\": false,\n \"IsAccepting\": true,\n \"IsAudioOnly\": false,\n \"IsVideoOnly\": false\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/api/donation/remote/state",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "remote",
- "state"
- ]
- },
- "description": "리모콘 상태를 변경합니다. (일시정지, 후원수신, 음성만, 영상만)"
- },
- "response": []
- },
- {
- "name": "알림 무시",
- "request": {
- "method": "POST",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/donation/remote/ignore/1",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "remote",
- "ignore",
- "1"
- ]
- },
- "description": "미재생 알림을 Ignored로 변경합니다. 재생 중인 알림은 사용 불가."
- },
- "response": []
- },
- {
- "name": "알림 재전송",
- "request": {
- "method": "POST",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/donation/remote/resend/1",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "remote",
- "resend",
- "1"
- ]
- },
- "description": "실패/무시된 알림을 대기열 맨 뒤에 재추가합니다. Queued로 초기화."
- },
- "response": []
- },
- {
- "name": "알림 건너뛰기",
- "request": {
- "method": "POST",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/donation/remote/skip/1",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "donation",
- "remote",
- "skip",
- "1"
- ]
- },
- "description": "현재 재생 중인 알림을 즉시 종료하고 다음 알림으로 넘깁니다."
- },
- "response": []
- }
- ]
- },
- {
- "name": "크루",
- "item": [
- {
- "name": "크루 세션 목록",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crew/list/1?page=1&perPage=20",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "crew",
- "list",
- "1"
- ],
- "query": [
- {
- "key": "page",
- "value": "1"
- },
- {
- "key": "perPage",
- "value": "20"
- },
- {
- "key": "sortBy",
- "value": "",
- "disabled": true,
- "description": "정렬 기준"
- },
- {
- "key": "sortDir",
- "value": "",
- "disabled": true,
- "description": "정렬 방향"
- }
- ]
- },
- "description": "크루 후원 세션 목록을 조회합니다. 날짜/금액/참여자 정렬, 페이징 지원."
- },
- "response": []
- },
- {
- "name": "크루 리더보드",
- "request": {
- "auth": {
- "type": "noauth"
- },
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crew/ranking/1",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "crew",
- "ranking",
- "1"
- ]
- },
- "description": "크루원별 리더보드(점수/기여도)를 조회합니다. OBS 위젯용 익명 허용."
- },
- "response": []
- },
- {
- "name": "크루 방송 시작",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"CrewID\": 1,\n \"Title\": \"크루 방송 제목\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/api/crew/session/start",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "crew",
- "session",
- "start"
- ]
- },
- "description": "크루 방송을 시작합니다. 전원 동의(Ready) 상태에서만 시작 가능."
- },
- "response": []
- },
- {
- "name": "크루 방송 종료",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"CrewSessionID\": 1\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/api/crew/session/end",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "crew",
- "session",
- "end"
- ]
- },
- "description": "크루 방송을 종료합니다. 정산 처리(수수료 차감, 지갑 입금) 후 크루원에게 쪽지 발송."
- },
- "response": []
- },
- {
- "name": "크루원 참여 동의",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"CrewSessionID\": 1,\n \"CrewMemberID\": 1\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/api/crew/session/consent",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "crew",
- "session",
- "consent"
- ]
- },
- "description": "크루원 참여 동의를 처리합니다. 전원 동의 시 Ready 전환."
- },
- "response": []
- }
- ]
- }
- ],
- "auth": {
- "type": "bearer",
- "bearer": [
- {
- "key": "token",
- "value": "{{accessToken}}",
- "type": "string"
- }
- ]
- },
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "type": "text/javascript",
- "packages": {},
- "requests": {},
- "exec": [
- ""
- ]
- }
- },
- {
- "listen": "test",
- "script": {
- "type": "text/javascript",
- "packages": {},
- "requests": {},
- "exec": [
- ""
- ]
- }
- }
- ]
- }
|