웹 스토리지 API
정적 웹사이트(HTML/CSS/JS) 호스팅 엔드포인트입니다.
🔐 배포 계열 엔드포인트는 Secret Key 가 필요합니다.
X-Public-Key(cb_pk_*) 는 브라우저 번들에 그대로 실려 나가는 공개 식별자입니다. 공개된 사이트의 JS 에서 누구나 뽑아낼 수 있으므로, "이 앱을 다룰 자격이 있는가" 를 증명하지 못합니다. 그래서 아래 8개 라우트는X-Public-Key와 함께Authorization: Bearer cb_sk_*를 요구합니다.
GET /v1/public/storages/webs(목록)POST /v1/public/storages/webs(생성)POST /v1/public/storages/webs/:storageID/deployGET /v1/public/storages/webs/:storageID/deploy/manifestPOST /v1/public/storages/webs/:storageID/deploy/incrementalPOST /v1/public/storages/webs/:storageID/deploy/presignGET /v1/public/storages/webs/:storageID/deploymentsPOST /v1/public/storages/webs/:storageID/promote
X-Public-Key도 계속 보내야 합니다. 서버가 어느 앱인지 식별하고, 그 Secret Key 의 사용자가 이 앱에 권한이 있는지 대조하는 데 씁니다. 둘은 대체 관계가 아니라 짝입니다. 누락하면 401SECRET_KEY_REQUIRED를 반환합니다.Secret Key 는 절대 클라이언트 코드나 저장소에 넣지 마세요. CI 시크릿이나 환경변수 (
CONNECTBASE_SECRET_KEY)로 주입하세요.CLI 를 쓰신다면 최신 버전으로 업데이트만 하면 됩니다 (
npm i -g connectbase-client@latest)..connectbaserc의secretKey또는CONNECTBASE_SECRET_KEY를 자동으로 실어 보냅니다.페이지 메타(
page-metas) 계열은 브라우저 SDK 의 정규 경로라 변경 없이 Public Key 만으로 동작합니다.
웹 스토리지 목록 조회
GET /v1/public/storages/webs
curl -X GET "https://api.connectbase.world/v1/public/storages/webs" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key"웹 스토리지 생성
POST /v1/public/storages/webs
curl -X POST "https://api.connectbase.world/v1/public/storages/webs" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"name": "my-website",
"description": "내 웹사이트"
}'CLI 배포
POST /v1/public/storages/webs/:storageID/deploy — 배포 (auto: production 즉시 / manual: QA 환경)
POST /v1/public/storages/webs/:storageID/deploy?target=qa — QA 채널 배포 (promote_mode 무관 QA-only, --dev 별칭)
GET /v1/public/storages/webs/:storageID/deploy/manifest — 증분 배포용 현재 파일 manifest (경로 + 해시)
POST /v1/public/storages/webs/:storageID/deploy/incremental — 증분 배포 (변경된 파일만)
POST /v1/public/storages/webs/:storageID/deploy/presign — 대용량 바이너리 직접 업로드용 presigned URL 발급
GET /v1/public/storages/webs/:storageID/deployments — 릴리스 이력 + production/QA 포인터
POST /v1/public/storages/webs/:storageID/promote — production 승격 (body deployment_id 미지정 시 최신 ready, 과거 id = 롤백)
curl -X POST "https://api.connectbase.world/v1/public/storages/webs/stg_xxx/deploy" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key" \
-F "[email protected]"보통 이 엔드포인트는
npx connectbase-client deploy [dir]CLI 가 자동으로 호출합니다. 직접 호출하려면multipart/form-data로 빌드된 정적 파일을 업로드합니다. 이 계열은 모두 위의 Secret Key 헤더가 필요합니다.
페이지 메타 (SEO)
웹 스토리지에 배포된 페이지마다 OG 태그/JSON-LD 를 설정할 수 있습니다.
페이지 메타 설정 (Upsert)
PUT /v1/public/storages/webs/:storageID/page-metas
curl -X PUT "https://api.connectbase.world/v1/public/storages/webs/stg_xxx/page-metas" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Content-Type: application/json" \
-d '{
"path": "/products/123",
"title": "최신 스마트폰",
"description": "최고의 성능, 최저가 보장",
"image": "https://example.com/product.jpg",
"og_type": "product"
}'일괄 설정 (최대 100개)
POST /v1/public/storages/webs/:storageID/page-metas/batch
curl -X POST "https://api.connectbase.world/v1/public/storages/webs/stg_xxx/page-metas/batch" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Content-Type: application/json" \
-d '{
"pages": [
{ "path": "/products/1", "title": "상품 1", "description": "설명 1" },
{ "path": "/products/2", "title": "상품 2", "description": "설명 2" }
]
}'페이지 메타 목록 조회
GET /v1/public/storages/webs/:storageID/page-metas?limit=20&offset=0
특정 경로 메타 조회
GET /v1/public/storages/webs/:storageID/page-metas/get?path=/products/123
특정 경로 메타 삭제
DELETE /v1/public/storages/webs/:storageID/page-metas?path=/products/123
전체 메타 삭제
DELETE /v1/public/storages/webs/:storageID/page-metas/all