CMS REST API์ ๊ธฐ๋ณธ URL, ์ธ์ฆ ๋ฐฉ์, ํ ๋ํธ ๊ฒฐ์ , ์ค๋ฅ ๋ชจ๋ธ์ ๊ดํ ์ ๋ณด์ ๋๋ค.
Profound CMS REST API๋ Rust translation_manager ์๋น์ค์์ ์ ๊ณตํฉ๋๋ค. ์ด ์๋น์ค๋ ๋ ๋๋ฌ์์ ์ฌ์ฉํ๋ ํค๋๋ฆฌ์ค ์ฝ๊ธฐ/์คํธ๋ฆผ ์๋ํฌ์ธํธ์, ์ฝํ
์ธ ยท๋ฒ์ญยทCSV ๊ฐ์ ธ์ค๊ธฐ์ ๋ํ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ชจ๋ ์์๋ {CMS_API_URL}์ CMS API ํธ์คํธ์ ๊ธฐ๋ณธ URL๋ก ์ฌ์ฉํฉ๋๋ค(์: https://cms.dev.tryprofound.com). ์ ์ญ ๊ฒฝ๋ก ์ ๋์ฌ๋ ์์ต๋๋ค โ ๋ผ์ฐํธ๋ ๋ฃจํธ์ ๋ง์ดํธ๋๋ฉฐ, ์: {CMS_API_URL}/routes.
API๋ ์๋ํฌ์ธํธ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๋ณ๋์ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
ํค๋ x-api-key ํค๋ ๋๋ api_key ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํฉ๋๋ค:
curl '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
-H 'x-api-key: <your-api-key>'
ํค๋ WorkOS์ ๋ํด ๊ฒ์ฆ๋๋ฉฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ ์บ์๋ฉ๋๋ค. ์ฝ๊ธฐ ์๋ํฌ์ธํธ์ ๊ฒฝ์ฐ ์๋ฒ๊ฐ require_schema_api_key = true๋ก ์ค์ ๋์์ ๋๋ง API ํค๊ฐ ํ์ํ๋ฉฐ, ๊ทธ๋ ์ง ์์ผ๋ฉด ์ต๋ช
์ฝ๊ธฐ๊ฐ ํ์ฉ๋ฉ๋๋ค. ๋ณํ ์
์ํธ(PATCH /dataset/{schema_name})์๋ content_write ๊ถํ์ ๊ฐ์ง ์ ํจํ ํค๊ฐ ํญ์ ํ์ํฉ๋๋ค.
API ํค ์ธ์ฆ์ ์ฌ์ฉํ๋ ์๋ํฌ์ธํธ: /routes, /route, /blocks*, /components*, /dataset/*, /schemas/*, /content-changes.
๊ด๋ฆฌ ์๋ํฌ์ธํธ์๋ WorkOS ์ฌ์ฉ์ JWT๊ฐ ํ์ํฉ๋๋ค:
curl '{CMS_API_URL}/usage?orgId=<uuid>' \
-H 'Authorization: Bearer <workos-jwt>'
๋ฒ ์ด๋ฌ ์ธ์ฆ์ ์ฌ์ฉํ๋ ์๋ํฌ์ธํธ: /translation, /translations, /usage, /csv.
API ํค ์๋ํฌ์ธํธ๋ ๋์ ์น์ฌ์ดํธ๋ฅผ ๋ค์ ์์๋ก ๊ฒฐ์ ํฉ๋๋ค:
?websiteId=<uuid> ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์Host ํค๋CMS_WEBSITE_ID ํด๋ฐฑ(๋จ์ผ ํ
๋ํธ / ๋ก์ปฌ ๊ฐ๋ฐ)์ด ์ค ์ด๋ ๊ฒ๋ ์ ํจํ UUID๋ก ํด์๋์ง ์์ผ๋ฉด ์๋ํฌ์ธํธ๋ 400์ ๋ฐํํฉ๋๋ค.
| ์ํ | ์๋ฏธ |
|---|---|
400 | ์๋ชป๋ ์์ฒญ โ ๋๋ฝ/์๋ชป๋ websiteId, ์๋ชป๋ UUID, ๋๋ ๊ฒ์ฆ ์คํจ |
401 | ์๊ฒฉ ์ฆ๋ช ์ด ์๊ฑฐ๋ ์๋ชป๋์์ต๋๋ค |
403 | ์ธ์ฆ๋์์ง๋ง ํ์ํ ๊ถํ์ด ์์ต๋๋ค |
404 | ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค |
500 | ๋ด๋ถ / ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ฅ |
GET {CMS_API_URL}/health๋ { "status": "ok" }๋ฅผ ๋ฐํํ๋ฉฐ ์ธ์ฆ์ด ํ์ ์์ต๋๋ค โ ํ์ฑ ์ํ ์ ๊ฒ์ ์ฌ์ฉํ์ญ์์ค.