๐ [์ฑ์ฅ์ ์ํ ๋ฐ์ผ๋ฆฌ ์ํฐํด] ๐งโ๐ป PM์ ์ํ API ํด์ค PM๊ณผ ์ํํธ์จ์ด ์์ง๋์ด๊ฐ ๋ ์คํ ๋์ ๋ค์ด๊ฐ๋๋ค.์์ง๋์ด๋ PM์๊ฒ API๊ฐ ๋ฌด์์ด๋ฉฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ ์คํ ๋ ์ผ์ ๋น์ ํ
๐ [์ฑ์ฅ์ ์ํ ๋ฐ์ผ๋ฆฌ ์ํฐํด] ๐งโ๐ป PM์ ์ํ API ํด์ค PM๊ณผ ์ํํธ์จ์ด ์์ง๋์ด๊ฐ ๋ ์คํ ๋์ ๋ค์ด๊ฐ๋๋ค.์์ง๋์ด๋ PM์๊ฒ API๊ฐ ๋ฌด์์ด๋ฉฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ ์คํ ๋ ์ผ์ ๋น์ ํ๋ฉด์ ์ค๋ช ํ๊ธฐ ์์ํฉ๋๋ค. 1๏ธโฃ ์ธ์ฆ (Authentication) ๐ถย ์์ง๋์ด: ํ์ ์ ์ฉ์ธ ๋ฉ์ง ๋ ์คํ ๋์ ๊ฐ๋ค๊ณ ์์ํด ๋ณด์ธ์. ํด๋ฝ ํ์ ์๊ฒฉ์ด ์์ด์ผ ๋ ์คํ ๋์์ ์์ฌ๋ฅผ ํ ์ ์์ต๋๋ค. ๐ฑย PM: API์์ ์ด๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋ ๋ฌด์์ธ๊ฐ์? ๐ถ ์์ง๋์ด: ๋ ์คํ ๋์ ์ ์ฅํ๋ ค๋ฉด ์ํธ ํด๋ฝ ๋ ์คํ ๋์ ์ ์ฅํ ์ ์๋ ์ ๋ถ์ฆ๊ณผ ์ ํจํ ๋ฉค๋ฒ์ญ ์นด๋๊ฐ ํ์ํฉ๋๋ค.ย ๊ธฐ์ ์ฉ์ด๋ก API ์ฌ์ฉ ์ธ์ฆ์ ๋ฐ์ผ๋ ค๋ฉดย โAPI ํค ๋๋ ํ ํฐโย ์ด ํ์ํฉ๋๋ค. 2๏ธโฃย ย ์๋ํฌ์ธํธ/๋ชฉ์ ์ง(Endpoint) ๐ฑย PM: ์๋น์ผ๋ก ๊ฐ๋ ์ฃผ์์ ๊ธธ์ ์๋ ค์ฃผ์๊ฒ ์ต๋๊น? ๐ถย ์์ง๋์ด: ์ฃผ์๋ '์๋ํฌ์ธํธ(http://xxx.com)'๋ผ๊ณ ๋ถ๋ฆ ๋๋ค! 3๏ธโฃย ๋ฉ์๋, ์์ฒญ๊ณผ ์๋ต (Method, Request and Response) ๐ฑย PM: ์ด์ ๋ ์คํ ๋์ ๋์ฐฉํ์ผ๋ ์์์ ์ฃผ๋ฌธํ์ฃ ! ๐ถ ์์ง๋์ด:ย ์ฌ๊ธฐ ์์ต๋๋ค, ๐ขย Method = Get ๐ข GET method ๋ ์ง์ ๋ ๋ฆฌ์์ค์ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.ย (โMethodโ ๋ API์ ์ํํ๋๋ก ์์ฒญํ๋ '๋์ฌ' ๋๋ '๋์'์ผ ๋ฟ์ ๋๋ค.) ์ด ์๋๋ฆฌ์ค์์๋ ์จ์ดํฐ์๊ฒ ๋ ์คํ ๋์์ ์ ๊ณต๋๋ ๋ฉ๋ด๋ฅผ ์์ฒญํ์ต๋๋ค. โ๏ธย Request:ย ๋ ์คํ ๋์์ ์ ๊ณต๋๋ ํญ๋ชฉ ๋ชฉ๋ก์ ๋ณด๋๋ก ์์ฒญํ์ต๋๋ค. โ๏ธย Response:ย ์๋ต์ ๊ฒฐ๊ณผ๋ ๋ ์คํ ๋์์ ์ ๊ณต๋๋ ํญ๋ชฉ ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๋ ๋ฉ๋ด๋ฅผ ์ป๋ ๊ฒ์ ๋๋ค. ๐ขย Methodย =ย Postย ๐ข ์์์ ์ํธ ํด๋ฝ ๋ ์คํ ๋์์๋ ์ํ๋ ์์์ ์ฐพ์ง ๋ชปํด ๋ ์คํ ๋์ ์ฃผ๋ฐฉ์ฅ์๊ฒ ์ ํ๋ฅผ ๊ฑธ์ด ๋ง์ถคํ โ๋น๊ฑด ๋ฒ๊ฑฐโ ์๋ก์ด ์๋ฆฌ๋ฅผ ์์ฒญํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฆฌ์ฌ๋ ์ด ์๋ก์ด ํญ๋ชฉ์ ๋ฉ๋ด์ ์ถ๊ฐํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค! ์ด ์๋๋ฆฌ์ค์์ ๋ฉ๋ด์ ์ ํญ๋ชฉ์ ๋ฃ๋ ํ์๋ฅผ 'Postโ ๋ผ๊ณ ํฉ๋๋ค. โ๏ธย Request:ย ์ ฐํ๊ฐ ์๋ก์ด โ๋น๊ฑด ๋ฒ๊ฑฐโ ๋ฉ๋ด๋ฅผ ์ถ๊ฐํฉ๋๋ค.ย ์์ฒญ์๋ ๋ฉ๋ด์ ๊ฒ์ํ ์ค๋ช ๋ฐ ๊ฐ๊ฒฉ๊ณผ ํจ๊ป ํญ๋ชฉ ์ด๋ฆ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค. โ๏ธย Response:ย ์ด ๊ฒฐ๊ณผ '์ค๋ช ' ๋ฐ '๊ฐ๊ฒฉ'๊ณผ ํจ๊ป โ๋น๊ฑด ๋ฒ๊ฑฐโ๊ฐ ๊ฒ์๋๊ณ ๋ฉ๋ด์ ํ์๋ฉ๋๋ค. ๐ขย Methodย =ย Put ๐ข โ๋น๊ฑด ๋ฒ๊ฑฐโ๋ ๋ ์คํ ๋์์ ํฐ ์ธ๊ธฐ๋ฅผ ์ป์์ง๋ง ํฐ๋ฌด๋์๋ ๊ฐ๊ฒฉ์ ์๋ฆฌ์ฌ๋ ๊ฐ๊ฒฉ์ ๋ช ๋ฌ๋ฌ ์ธํํ๊ธฐ๋ก ๊ฒฐ์ ํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค์์ ๋ฉ๋ด์ ๊ธฐ์กด ํญ๋ชฉ์ ์ ๋ฐ์ดํธํ๋ ์์ ์ 'Put'์ด๋ผ๊ณ ํฉ๋๋ค. โ๏ธย Request:ย ์ ฐํ๊ฐ โ๋น๊ฑด ๋ฒ๊ฑฐโ ํญ๋ชฉ์ ์ ๊ฐ๊ฒฉ์ ์ ๋ ฅํฉ๋๋ค.ย ์์ฒญ ํ์ด๋ก๋์๋ ์ ๋ฐ์ดํธ ์ค์ธ ํญ๋ชฉ์ ์ฐธ์กฐ ๋ฐ ๊ฐ๊ณผ ํจ๊ป ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ๋งค๊ฐ๋ณ์๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค. โ๏ธย Response:ย ์ด ๊ฒฐ๊ณผ ๋ฉ๋ด์์ โ๋น๊ฑด ๋ฒ๊ฑฐโ๊ฐ๊ฒฉ์ด ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ๐ขย Method = Delete ๐ข โ๋น๊ฑด ๋ฒ๊ฑฐโ์ ๋ํ ์์๊ฐ ๊ธ์ฆํ์ ์๋ฆฌ์ฌ๋ ๋ฉ๋ด์์ ์ธ๊ธฐ์๋ ๋ค๋ฅธ ๋ฉ๋ด๋ฅผ ์ ๊ฑฐํ๊ธฐ๋ก ๊ฒฐ์ ํฉ๋๋ค. ์์ดํ ์ ์ ๊ฑฐํ๋ ํ์๋ฅผ. API ์ฉ์ด๋ก โDeleteโ ๋ผ๊ณ ํฉ๋๋ค. โ๏ธย Request:ย ์ ฐํ๊ฐ ๋ฉ๋ด์์ '์บ๋น์'๋ฅผ ์ ๊ฑฐํด ๋ฌ๋ผ๊ณ ์์ฒญํ ๊ฒ์ ๋๋ค.ย ์์ฒญ ํ์ด๋ก๋์๋ ๋ฉ๋ด์์ ์ ๊ฑฐํ ๋ค๋ฅธ ์ธ๋ถ ์ ๋ณด ์ค์์ ํญ๋ชฉ ์ด๋ฆ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค. โ๏ธย Response:ย ์ด ๊ฒฐ๊ณผ ๋ฉ๋ด์์ '์บ๋น์'๊ฐ ๋ ์ด์ ํ์๋์ง ์์ต๋๋ค. 4๏ธโฃ ์ํ ์ฝ๋์ ์ค๋ฅ ๋ฉ์ธ์ง (API Status Codes and Error Messages) ๐ฑย PM: ์์ฐ!ย API๊ฐ ์ํ๋ ๋ชจ๋ ์์ ์ ์ํํ๋ค๋ ์ฌ์ค์ด ๋ง์์ ๋๋๊ตฐ์. ๐ถ ์์ง๋์ด:ย API๊ฐ ํญ์ ์ ์๋ํ๋ ๊ฒ์ ์๋๋๋ค. ์ข ์ข ์ค๋ฅ๋ ๋ฐ์ํฉ๋๋ค. ์๋ '์๋ต ์ฝ๋'๋ฅผ ํตํด API์ ๋์ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. โ๏ธย 2xx :ย ์์ฒญ์ด ์ฑ๊ณตํ์์ ์๋ฏธํฉ๋๋ค. โ๏ธย 3xx :ย ์ด์ ์ ํด์ ์์์ ์ํธ ํด๋ฝ ๋ ์คํ ๋์ผ๋ก ๊ฐ์ ์ ์ฃผ์๋ก ์ด์ฌํ๋ค๋ ์๋ดํ๊ณผ ํธํ ์ง์์ด ์ ์์น ๋ฐฉํฅ์ ์๋ ค์ฃผ๋ ์๋ดํ์ ์ฐพ์๋ค๊ณ ์์ํด ๋ณด์ธ์.ย API ์ฉ์ด๋ก ์์ฒญ์ด ๋ค๋ฅธ URL๋ก ๋ฆฌ๋๋ ์ ๋จ์ ์๋ฏธํฉ๋๋ค. โ๏ธย 4xx:ย ๋ ์คํ ๋์ผ๋ก ์ฐจ๋ฅผ ๋ชฐ๊ณ ๊ฐ '์บ๋น์'๋ฅผ ์ฃผ๋ฌธํ๋๋ฐ ๋ ์ด์ ๋ ์คํ ๋์์ ์ ๊ณต๋์ง ์๋๋ค๋ ์ฌ์ค์ ์๊ฒ ๋์์ต๋๋ค!ย ์ด๋ ํด๋ผ์ด์ธํธ ์ค๋ฅ(์น์ธ๋์ง ์์, ๊ธ์ง๋จ, ํ์ด์ง๋ฅผ ์ฐพ์ ์ ์์)์ ๋์ผํฉ๋๋ค. โ๏ธย 5xx:ย ์ด ๊ฒฝ์ฐ์๋ ๋ ์คํ ๋์ ๋ฌธ์ ์ ๋๋ค!ย ๋น๊ฑด ๋ฒ๊ฑฐ๋ฅผ ์ฃผ๋ฌธํ์ง๋ง ๋๊ธฐ์ด์ด ๊ธธ๊ณ ํญ๋ชฉ์ ๋ง๋๋ ๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ธ์ต๋๋ค.ย API ์ฉ์ด๋ก ๊ทธ๊ฒ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ฑฐ๋ ๊ฒ์ดํธ์จ์ด ์๊ฐ ์ด๊ณผ๋ฅผ ์๋ฏธํฉ๋๋ค. -- ๋ฒ์ญ & ์์ฝ: ํฉ์๋๋ --- ๐ B2B ๋์์ด๋๋ค์ ๋ชจ์ ์๊ฐ B2B ํ๋ก๋ํธ๋ฅผ ๋ง๋ค๊ณ ์๋ B2B ๋์์ด๋๋ค์ B2C ๋์์ด๋๋ณด๋ค ๋ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํ๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋ฐ ๋นํด ์๋ฃ, ์ง์, ํผ๋๋ฐฑ์ ์ฐพ๋๋ฐ๋ ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค. ๋ ๋ง์ B2B ํ๋ก๋ํธ ๋์์ด๋๋ค์ด ํ์๋ฆฌ์์ ์ด๋ ค์ด ์ , ๋ฐฐ์ด ์ ์ ๊ณต์ ํ๊ณ ์๋ก ๋์์ด ๋๊ธฐ ์ํด ์ปค๋ฎค๋ํฐ๋ฅผ ์ด์์ค์ ๋๋ค. ๐ B2B ๋์์ด๋๋ค์ ๋ชจ์ ๋ ธ์ ๋งํฌ: https://www.b2b-designers.space