Studio.postman_collection.json 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. {
  2. "info": {
  3. "_postman_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  4. "name": "Studio",
  5. "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
  6. "_exporter_id": "40701166"
  7. },
  8. "item": [
  9. {
  10. "name": "채널 설정",
  11. "item": [
  12. {
  13. "name": "채널 설정 조회",
  14. "request": {
  15. "method": "GET",
  16. "header": [],
  17. "url": {
  18. "raw": "{{baseUrl}}/api/studio/settings",
  19. "host": ["{{baseUrl}}"],
  20. "path": ["api", "studio", "settings"]
  21. },
  22. "description": "YouTube 채널 연동 여부 및 채널 정보 조회 (channelName, handle, description, channelUrl, viewerLink, contactEmail, thumbnailUrl)"
  23. },
  24. "response": []
  25. }
  26. ]
  27. },
  28. {
  29. "name": "채널 연결",
  30. "item": [
  31. {
  32. "name": "연동 상태 조회",
  33. "request": {
  34. "method": "GET",
  35. "header": [],
  36. "url": {
  37. "raw": "{{baseUrl}}/api/studio/channel",
  38. "host": ["{{baseUrl}}"],
  39. "path": ["api", "studio", "channel"]
  40. },
  41. "description": "YouTube 채널 연동 상태 및 채널 기본 정보 조회 (isConnected, channelName, handle, thumbnailUrl, isActive)"
  42. },
  43. "response": []
  44. },
  45. {
  46. "name": "YouTube OAuth URL 발급",
  47. "request": {
  48. "method": "GET",
  49. "header": [],
  50. "url": {
  51. "raw": "{{baseUrl}}/api/studio/youtube-connect-url?redirectUri={{frontendUrl}}/api/auth/youtube/callback",
  52. "host": ["{{baseUrl}}"],
  53. "path": ["api", "studio", "youtube-connect-url"],
  54. "query": [
  55. {
  56. "key": "redirectUri",
  57. "value": "{{frontendUrl}}/api/auth/youtube/callback",
  58. "description": "OAuth 인증 후 돌아올 콜백 URL"
  59. }
  60. ]
  61. },
  62. "description": "Google OAuth Authorization URL 반환. 프론트엔드에서 해당 URL로 리다이렉트하여 YouTube 연동 시작"
  63. },
  64. "response": []
  65. },
  66. {
  67. "name": "YouTube 채널 연결 (코드 교환)",
  68. "request": {
  69. "method": "POST",
  70. "header": [],
  71. "body": {
  72. "mode": "raw",
  73. "raw": "{\n \"Code\": \"4/0Aci98E...\",\n \"RedirectUri\": \"{{frontendUrl}}/api/auth/youtube/callback\"\n}",
  74. "options": {
  75. "raw": {
  76. "language": "json"
  77. }
  78. }
  79. },
  80. "url": {
  81. "raw": "{{baseUrl}}/api/studio/youtube-connect",
  82. "host": ["{{baseUrl}}"],
  83. "path": ["api", "studio", "youtube-connect"]
  84. },
  85. "description": "Google OAuth 인증 코드를 교환하여 MemberOAuthToken 저장 및 Channel 엔티티 생성/업데이트. 프론트엔드 콜백 Route Handler에서 자동 호출됨"
  86. },
  87. "response": []
  88. }
  89. ]
  90. }
  91. ],
  92. "auth": {
  93. "type": "bearer",
  94. "bearer": [
  95. {
  96. "key": "token",
  97. "value": "{{accessToken}}",
  98. "type": "string"
  99. }
  100. ]
  101. },
  102. "variable": [
  103. {
  104. "key": "baseUrl",
  105. "value": "https://localhost:4000"
  106. },
  107. {
  108. "key": "frontendUrl",
  109. "value": "https://localhost:3000"
  110. }
  111. ]
  112. }