⚠️
게임 생성·심사 제출·승인·공개 API는 제공하지 않습니다. 이미 개발자 포털에 등록된 본인 회사 게임의 파일 교체만 가능합니다.

API 키 발급
🚧
아직 이 화면(개발자 포털)에 발급 버튼이 없습니다. 당분간은 아래처럼 API를 직접 호출해서 발급해야 합니다 — owner 권한 계정만 가능합니다.
1
로그인 JWT 준비
지금 이 포털에 이미 로그인해 있다면, 브라우저 콘솔(F12)에 아래 한 줄을 입력해 토큰을 클립보드로 바로 복사할 수 있습니다.
copy(localStorage.getItem('dev_token'))
또는 이메일·비밀번호로 직접 로그인해 토큰을 받아도 됩니다.
POST https://developer.popcongame.com/api/auth/dev/login Content-Type: application/json { "email": "owner@example.com", "password": "..." } // → { "token": "<DEV_JWT>", "user": {...} }
2
업로드 키 발급
회사(company) 단위로 발급됩니다. 응답의 key이때 한 번만 평문으로 보이니 바로 저장해두세요 (DB엔 해시만 남습니다).
POST https://developer.popcongame.com/api/dev/ai-upload-keys Authorization: Bearer <DEV_JWT> Content-Type: application/json { "name": "Matgo uploader", "expires_at": null } // → { "key": "pgai_...", "api_key": { "id": 1, "name": "...", "expires_at": null, ... } }
3
목록 조회 · 폐기
같은 JWT로 언제든 확인·폐기할 수 있습니다.
GET https://developer.popcongame.com/api/dev/ai-upload-keys Authorization: Bearer <DEV_JWT> DELETE https://developer.popcongame.com/api/dev/ai-upload-keys/1 Authorization: Bearer <DEV_JWT>
💡
이후 업로드 호출(아래)은 pgai_... 키만 있으면 됩니다 — 개발자 로그인·JWT는 더 필요 없습니다.

업로드 엔드포인트
GET /api/ai-upload/v1/games/:gameId
업로드 대상 게임과 현재 상태(빌드 심사 상태 등)를 확인합니다.
POST /api/ai-upload/v1/games/:gameId/thumbnail
썸네일 이미지를 교체합니다. multipart file, 10MB 이하.
POST /api/ai-upload/v1/games/:gameId/video
미리보기 동영상을 교체합니다. multipart file, 500MB 이하.
POST /api/ai-upload/v1/games/:gameId/build
게임 빌드(ZIP)를 교체합니다. multipart file, 500MB 이하.
⚠️
초안 게임은 즉시 파일이 바뀝니다. 이미 공개된 게임은 새 버전으로 영구 보관만 되고 자동으로 심사에 들어가지 않습니다 — 개발자 포털에서 그 버전을 활성화하고 심사 제출해야 관리자 심사 대상이 되며, 승인 전까지는 기존 공개 파일이 계속 서비스됩니다.
예시
curl -X POST "https://developer.popcongame.com/api/ai-upload/v1/games/123/build" \ -H "Authorization: Bearer $POPCON_AI_UPLOAD_KEY" \ -F "file=@Movi_Matgo.zip"
PUT /api/ai-upload/v1/games/:gameId/translations
다국어 제목·설명을 전체 교체합니다 — 요청에 빠진 언어는 삭제됩니다.
지원 언어
ko ja zh fr de es pt ru th vi id — 기본 영문은 게임의 title/description을 그대로 사용합니다.
예시
PUT /api/ai-upload/v1/games/123/translations Authorization: Bearer pgai_... Content-Type: application/json { "translations": { "ko": { "title": "팝콘 맞고", "description": "정통 맞고 게임" }, "ja": { "title": "ポップコーン花札", "description": "本格花札ゲーム" } } }