giip
SES Proposal
3 min read

API ๊ณตํ†ต ๊ฒฐ๊ณผ ์ฝ”๋“œ (RstVal)

GIIP ๊ฐ€์ด๋“œ ์‹œ์Šคํ…œ์˜ API ๊ณตํ†ต ์‘๋‹ต ๊ฐ’์ธ RstVal๊ณผ RstMsg์— ๋Œ€ํ•œ ํ‘œ์ค€ ์ •์˜๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“‹ ๊ฐœ์š”

๋ชจ๋“  GIIP API๋Š” ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด RstVal(์ •์ˆ˜ํ˜• ์ฝ”๋“œ)๊ณผ RstMsg(์„ค๋ช… ๋ฉ”์‹œ์ง€)๋ฅผ ์‘๋‹ต ๋ฐ์ดํ„ฐ์˜ ์ตœ์ƒ์œ„ ๊ณ„์ธต์— ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’๋“ค์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ tDefRst(Result Definition) ํ…Œ์ด๋ธ”์— ์ •์˜๋œ ํ‘œ์ค€์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ป˜์„œ ์–ธ๊ธ‰ํ•˜์‹  tRstVal์€ ์‹ค์ œ ์‹œ์Šคํ…œ์˜ tDefRst ํ…Œ์ด๋ธ” ๋‚ด drRstVal ์ปฌ๋Ÿผ์„ ์˜๋ฏธํ•˜๋ฉฐ, API ๊ฐœ๋ฐœ ๋ฐ ์—ฐ๋™ ์‹œ ์•„๋ž˜ ์ •์˜๋œ ์ฝ”๋“œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ก ์ฃผ์š” ๊ฒฐ๊ณผ ์ฝ”๋“œ (Major Codes)

RstValRstMsg์˜๋ฏธ๋น„๊ณ 
200Process has done successfully์„ฑ๊ณตํ‘œ์ค€ ์„ฑ๊ณต ์‘๋‹ต
400No data found์ž˜๋ชป๋œ ์š”์ฒญํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ˆ„๋ฝ ๋˜๋Š” ๋นˆ ๋ฐ์ดํ„ฐ
401Unauthorized์ธ์ฆ ์‹คํŒจAccess Key/Secret Key ์˜ค๋ฅ˜ ๋˜๋Š” ์„ธ์…˜ ๋งŒ๋ฃŒ
403Forbidden๊ถŒํ•œ ์—†์Œ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ ๋ถ€์กฑ
404No data found์ฐพ์„ ์ˆ˜ ์—†์Œ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Œ
500System error์‹œ์Šคํ…œ ์˜ค๋ฅ˜์„œ๋ฒ„ ๋‚ด๋ถ€ ๋กœ์ง ๋˜๋Š” DB ์—๋Ÿฌ

๐Ÿ” ์ƒ์„ธ ๊ฒฐ๊ณผ ์ฝ”๋“œ ๋ชฉ๋ก (tDefRst)

์‹œ์Šคํ…œ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ƒ์„ธ ๊ฒฐ๊ณผ ์ฝ”๋“œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ํŠน์ • ๋„๋ฉ”์ธ(ํฌ์ธํŠธ, ์‚ฌ์šฉ์ž ๊ฐ€์ž…, ์™ธ๋ถ€ ์—ฐ๋™ ๋“ฑ)์— ํŠนํ™”๋œ ๋ฉ”์‹œ์ง€๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

drRstValdrRstMsg์นดํ…Œ๊ณ ๋ฆฌ
100Starting Stored Procedure...์‹œ์Šคํ…œ
102Data is not match์œ ํšจ์„ฑ
201Created successfully์ƒ์„ฑ
204No content available๋ฐ์ดํ„ฐ
211It is clean email. go next...ํšŒ์›๊ฐ€์ž…
212Already registered user.ํšŒ์›๊ฐ€์ž…
220Charge process has done successfully๊ฒฐ์ œ/ํฌ์ธํŠธ
221Point process has done successfullyํฌ์ธํŠธ
230Buying process has done successfully๊ตฌ๋งค
250Prayed successfully๊ธฐํƒ€
300Permission error๊ถŒํ•œ
301Not enough pointํฌ์ธํŠธ
302Already data exists.์ค‘๋ณต
312Pre-registered but not have User data.๊ฐ€์ž…์ƒํƒœ
313Input status is lower than dbStatus.๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ
320It cannot be processed point processingํฌ์ธํŠธ
330You have NFT Token already.NFT/Asset
332Already sold out.๊ตฌ๋งค
333Event item limit reached.์ด๋ฒคํŠธ
390Already registered this wallet.์ง€๊ฐ‘/์ธ์ฆ
405Method not allowed์„œ๋ฒ„/HTTP
409Conflict: Resource already exists์ƒํƒœ ์ถฉ๋Œ
410Gone: Resource no longer available๋งŒ๋ฃŒ/์‚ญ์ œ
420You don't have enough pointํฌ์ธํŠธ
421Not same point and point history.๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ
502Bad Gateway: Upstream error๋„คํŠธ์›Œํฌ

๐Ÿ’ก ๊ฐœ๋ฐœ์ž ํŒ

  • ์„ฑ๊ณต ํŒ๋ณ„: RstVal์ด 200์ธ ๊ฒฝ์šฐ์—๋งŒ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ณ„์† ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์—๋Ÿฌ ํ•ธ๋“ค๋ง: 400๋Œ€ ์ฝ”๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์ˆ˜์ •์ด ํ•„์š”ํ•จ์„, 500๋Œ€ ์ฝ”๋“œ๋Š” ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์˜ ํ™•์ธ์ด ํ•„์š”ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€ ํ™œ์šฉ: RstMsg๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง์ ‘ ๋…ธ์ถœํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ฐœ๋ฐœ์ž ๋””๋ฒ„๊น…์šฉ์œผ๋กœ ํ™œ์šฉํ•˜๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋กœ์บ˜(Locale)์— ๋งž๋Š” ๋ณ„๋„์˜ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
API ์‘๋‹ต์˜ RstVal์ด 401๋กœ ๋ฐ˜ํ™˜๋จAccess Key/Secret Key ์˜ค๋ฅ˜ ๋˜๋Š” ์„ธ์…˜ ๋งŒ๋ฃŒ์ธ์ฆ ํ‚ค๋ฅผ ์žฌํ™•์ธํ•˜๊ณ  ์„ธ์…˜์„ ๊ฐฑ์‹ ํ•œ ๋’ค ์š”์ฒญ์„ ๋‹ค์‹œ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
RstVal์ด 400 ๋˜๋Š” 404์ด๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์–ด ์žˆ์Œํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ˆ„๋ฝ ๋˜๋Š” ์กฐํšŒ ๋Œ€์ƒ ๋ฆฌ์†Œ์Šค ๋ถ€์žฌ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ ๊ฒ€ํ•˜๊ณ , ์กด์žฌํ•˜๋Š” ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž๋กœ ์žฌ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
RstVal์ด 301/420์œผ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘๋‹จ๋จํฌ์ธํŠธ ๋ถ€์กฑ ๋“ฑ ๋น„์ฆˆ๋‹ˆ์Šค ์กฐ๊ฑด ๋ฏธ์ถฉ์กฑRstMsg(์˜ˆ: Not enough point)๋ฅผ ํ™•์ธํ•˜๊ณ  ์„ ํ–‰ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•œ ๋’ค ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
RstVal์ด 500/502๋กœ ๋ฐ˜ํ™˜๋จ์„œ๋ฒ„ ๋‚ด๋ถ€ ๋กœ์งยทDB ์˜ค๋ฅ˜ ๋˜๋Š” ์—…์ŠคํŠธ๋ฆผ ๊ฒŒ์ดํŠธ์›จ์ด ์˜ค๋ฅ˜ํด๋ผ์ด์–ธํŠธ์—์„œ ์žฌ์‹œ๋„ํ•˜์ง€ ๋ง๊ณ  RstMsg์™€ ํ•จ๊ป˜ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ฌธ์˜ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ๋ฌธ์„œ: