CatQuest ๋ฐ์ดํฐ API ๋ ํผ๋ฐ์ค
CatQuest ํ๋ฉด์ **giip ์ด์ ๋ชฉ๋ก API(giipIssues)**๋ฅผ ์ฝ์ด ๊ฐ ์ด์๋ฅผ ๊ณ ์์ด ์นด๋๋ก ๊ทธ๋ฆฝ๋๋ค. ์ด ๋ฌธ์๋ ๊ทธ ๋ฐ์ดํฐ ์์ฒ์ API๋ก ์ง์ ์กฐํํ๋ ๋ฐฉ๋ฒ๊ณผ, ํ๋ฉด์ ์ํโ๊ณ ์์ด ๋งคํ์ ์ค๋ช
ํฉ๋๋ค.
- ํธ์คํธ:
https://giipfaw.azurewebsites.net - ์ธ์ฆ:
x-api-keyํค๋(๋๋Authorization: Bearer <key>)์ ๋ก๊ทธ์ธ ์ฌ์ฉ์์ AK, ํ๋ก์ ํธ SK, ๋๋ ์ฌ์ฉ์ ๊ณ ์ ํค ์ค ํ๋๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ธ ์ข ๋ฅ์ ์์ธ ์ ์ยท๋ฐ๊ธ์ฒยท๊ถํ ๋ฒ์๋ ์ด์ยทํ์คํฌ API โ ์ธ์ฆ (์ด API์ ๋์ผํgiipIssues์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ธ์ฆ ์ฌ์๋ ๊ณตํต)์ ์ฐธ์กฐํ์ธ์. ์กฐํ ๋ฒ์๋ ํค์csn(ํ๋ก์ ํธ) ๋ก ์ ํ๋ฉ๋๋ค. JSON ๋ฐ๋๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด๋ก ํค๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์์ ์ง์๋์ง ์์ต๋๋ค(์ค์ธก ํ์ธ, 2026-08-20) โ ๋ฐ๋์ ํค๋๋ก ์ ๋ฌํ์ธ์. - ์๋ต ์ฝ๋(RstVal) ๊ท์ฝ์ API ๊ฒฐ๊ณผ ์ฝ๋ ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด์ ๋ชฉ๋ก ์กฐํ โ giipIssues GET
CatQuest๊ฐ ํ์ด์ง ๋ก๋ ์ ํธ์ถํ๋ ์ฝ๊ธฐ API์ ๋๋ค.
curl "https://giipfaw.azurewebsites.net/api/giipIssues?csn=47" \
-H "x-api-key: ${GIIP_API_KEY}"
์์ฒญ ํ๋ผ๋ฏธํฐ
| ์ด๋ฆ | ์์น | ํ์ | ์ค๋ช |
|---|---|---|---|
csn | query | โ | ์กฐํํ ํ๋ก์ ํธ ๋ฒํธ. CatQuest๋ ํ์ฌ ์ ํ๋ ํ๋ก์ ํธ์ csn์ ์๋์ผ๋ก ๋ฃ์ต๋๋ค. |
์๋ต ์์
{
"issues": [
{
"isn": 735,
"title": "admin/catquest ์ ์ ๊ฐ์ด๋ ์์ฑ",
"status": "READY",
"regdate": "2026-07-24T08:54:00Z",
"summary": "๊ฐ์ด๋ ๋ฒํผ ํ์ฑํ",
"last_comment_date": "2026-07-24T09:00:00Z",
"blocked_by_isn": null,
"blocked_by_title": null
}
]
}
์๋ต ํ๋ (CatQuest๊ฐ ์ฌ์ฉํ๋ ๊ฒ)
| ํ๋ | ํ์ | ํ๋ฉด์์์ ์ฐ์ |
|---|---|---|
isn | number | ์ด์ ๋ฒํธ(#isn ๋ฐฐ์ง). ์ด๋ค ๊ณ ์์ด๋ฅผ ๋ฐฐ์ ํ ์ง๋ isn์ผ๋ก ๊ฒฐ์ ๋ฉ๋๋ค. |
title | string | ์นด๋ ์๋จ ๋งํ์ ์ ๋ชฉ |
status | string | ๊ณ ์์ด ํ๋(์ ๋๋ฉ์ด์ )์ ๊ฒฐ์ โ ์๋ ๋งคํํ ์ฐธ์กฐ |
regdate | string | ๋ฑ๋ก ์ผ์(๐ฃ) |
summary | string | ์นด๋ ํ๋จ ์์ฝ(์์ ๋๋ง) |
last_comment_date | string | null | ์ต์ข ์ฝ๋ฉํธ ์ผ์(๐ฌ), ์์ผ๋ฉด "์ฝ๋ฉํธ ์์" |
blocked_by_isn | number | null | ๋๊ธฐ(blocked-by) ๋ฐฐ์ง โ ์ด ์ด์๋ฅผ ๋ง๊ณ ์๋ ์ ์ ์ด์ ๋ฒํธ |
blocked_by_title | string | null | ๋๊ธฐ ๋ฐฐ์ง์ ํดํ(์ ์ ์ด์ ์ ๋ชฉ) |
์ํ โ ๊ณ ์์ด ํ๋ ๋งคํ
CatQuest ํ๋ก ํธ๊ฐ status ๊ฐ์ ๋ค์ ๊ท์น์ผ๋ก ์ ๋๋ฉ์ด์
์ ๋งคํํฉ๋๋ค(์๋ฒ ๊ฐ์ด ์๋๋ผ ํ๋ฉด ํํ ๊ท์น).
| status | ๊ณ ์์ด ์ํ | ์ด๋ฏธ์ง ํ์ผ ํจํด |
|---|---|---|
| PENDING | playing | /images/catquest/<cat>_playing.png |
| READY | ready | /images/catquest/<cat>_ready.png |
| IN_PROGRESS | hunting | /images/catquest/<cat>_hunting.png |
| REVIEW | delivering | /images/catquest/<cat>_delivering.png |
| DONE | playing | /images/catquest/<cat>_playing.png |
<cat>์isn % 8๋ก 8์ข (mochiยทsherlockยทnimbusยทpixelยทcocoaยทmidnightยทlunaยทleo) ์ค ํ๋๊ฐ ๊ณ ์ ๋ฐฐ์ ๋ฉ๋๋ค.
๊ด๋ จ API
- ์ด์ ๋ฑ๋กยท์์ ยท์ํ๋ณ๊ฒฝ: ํ๋ก๊ทธ๋จ์ผ๋ก ์ด์๋ฅผ ์์ฑ/์ ์ดํ๋ ค๋ฉด ์ด์ ๋ฐ ํ์คํฌ API ๋ฅผ ์ฐธ์กฐํ์ธ์.
- ์ฝ๋ฉํธ ์กฐํ/์ถ๊ฐ: ์ด์ ์์ธ ํ๋ฉด์
giipIssueCommentsAPI๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ฌธ์ ํด๊ฒฐ
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
401 {"error":"Auth required"} | x-api-key ํค๋ ์์ฒด๊ฐ ์๊ฑฐ๋, JSON ๋ฐ๋/์ฟผ๋ฆฌ ๋ฌธ์์ด ๋ฑ ๋ฏธ์ง์ ๋ฐฉ์์ผ๋ก ํค๋ฅผ ์ ๋ฌํจ | x-api-key: <key> ํค๋(๋๋ Authorization: Bearer <key>)๋ก ์ ๋ฌ. ์ค์ธก ํ์ธ: ๋ฐ๋ tokenยท์ฟผ๋ฆฌ ?token=์ ์ฝํ์ง ์์ต๋๋ค |
401 {"error":"Invalid session"} | ํค ์คํยท๋ง๋ฃยท๋นํ์ฑํ(SK ์ฌ๋ฐ๊ธ/ํ์ , AK ์ธ์ ๋ง๋ฃ ๋ฑ) | ์ ํจํ ํค๋ก ์ฌ์๋ํ๊ฑฐ๋ ์ฌ๋ก๊ทธ์ธํฉ๋๋ค. ํค ์กฐ๊ฑด ์์ธ๋ ์ด์ยทํ์คํฌ API ์ฐธ์กฐ |
๋น issues: [](ํด๋น csn์ ์ด์๊ฐ ์๋ ๊ฒฝ์ฐ) | ํด๋น csn์ ์ด์๊ฐ ์์ | csn ๊ฐ์ ํ์ธํ๊ฑฐ๋ ์ด์๋ฅผ ๋ฑ๋กํฉ๋๋ค |
๋น issues: [](ํค์ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ) | ํค๊ฐ ๊ทธ csn์ ์ ๊ทผ ๊ถํ์ด ์์(401์ด ์๋๋ผ ๋น ๋ฐฐ์ด์ด ๋จ โ ์ค์ธก ํ์ธ, 2026-08-20) | ํด๋น csn์ฉ ํค๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๊ด๋ฆฌ์์๊ฒ ๊ถํ ๋ถ์ฌ๋ฅผ ์์ฒญํฉ๋๋ค |
csn ์์ด ํธ์ถ | ํ์ ํ๋ผ๋ฏธํฐ ๋๋ฝ | ?csn=<๋ฒํธ> ๋ฅผ ๋ฐ๋์ ํฌํจํฉ๋๋ค |
๋ฒ์ : 1.1
์ต์ข
์
๋ฐ์ดํธ: 2026-08-20(ํ
์คํธ ๋์ API: giipfaw ํ๋ก๋์
)
์์ค ํ์ผ: giipv3/public/help/api-catquest.ko.md
v1.1 ๋ณ๊ฒฝ ์ด๋ ฅ (2026-08-20, giip #1280): ์ธ์ฆ ์น์ ์ ์ด์ยทํ์คํฌ API์ ํ์ฅ๋ ์ธ์ฆ ์ ์๋ก ๋งํฌํ์ฌ ์ค๋ณต์ ์ ๊ฑฐ. curl ์์ ๋ฅผ ํ๊ฒฝ๋ณ์ํ. 401์ ์์ธ(ํค ๋ฏธ๋๋ฌ/ํค ๋ฌดํจ)๊ณผ csn ๊ถํ ๋ถ์ผ์น ์ ๋์(401์ด ์๋๋ผ ๋น ๋ฐฐ์ด)์ ๋ฌธ์ ํด๊ฒฐ ํ์ ์ถ๊ฐ(giip-issue-api์ ์ค์ธก ๊ฒฐ๊ณผ ๋ฐ์).