跳至主要内容

API Reference

Common Convention​

Base URL

https://openapi.gency.ai

Content-Type

所有請求與回應皆使用 application/json 格式。

認證

所有 API 請求皆需要以下其中一種認證標頭。

方式標頭說明
OAuth2 TokenAuthorization: Bearer {access_token}透過 OAuth 流程取得的權杖
API KeyX-API-Key: {api_key}在 API 中心發行的金鑰

成功回應

所有 API 的成功回應皆會以 {"data": ...} 形式包裝。

{
"data": {
// 리소스 데이터
}
}

錯誤回應

發生錯誤時會以以下格式回傳。

{
"status": 400,
"error": {
"code": "INVALID_REQUEST",
"message": "요청이 올바르지 않습니다."
},
"data": null,
"timestamp": "2025-01-01T00:00:00.000Z"
}
欄位類型說明
statusIntegerHTTP 狀態代碼
error.codeString錯誤代碼
error.messageString錯誤訊息
dataAny額外的錯誤資料(選用)
timestampString錯誤發生時間 (ISO 8601, UTC)

Team (團隊)​

查詢我的團隊資訊​

GET /openapi/v1/teams/me

Required Scope: team:read

Response:

{
"data": {
"teamId": "01HABC...",
"teamName": "김젠시의 팀",
"plan": "MASTER_PLAN_01"
}
}
欄位類型說明
teamIdString團隊 ID
teamNameString團隊名稱
planString方案 (BASIC: 基本, ENTERPRISE: 企業版)

查詢額度​

GET /openapi/v1/usage/credits

Required Scope: team:read

Response:

{
"data": {
"credit": 100
}
}
欄位類型說明
creditInteger額度

Workspaces (工作區)​

查詢工作區清單​

GET /openapi/v1/workspaces

Required Scope: team:read

Response:

{
"data": {
"workspaces": [
{
"workspaceId": "01HXYZ...",
"workspaceName": "My Workspace",
"createdAt": "2025-01-01T00:00:00+09:00"
}
]
}
}

建立工作區​

POST /openapi/v1/workspaces

Required Scope: team:write

Request Body:

{
"name": "New Workspace"
}
欄位類型必填說明
nameStringO工作區名稱(最多 100 字)

變更工作區名稱​

PATCH /openapi/v1/workspaces/{workspaceId}

Required Scope: team:write

Request Body:

{
"name": "Updated Name"
}

Templates (範本)​

查詢範本清單​

GET /openapi/v1/templates?workspaceId={workspaceId}&productType={productType}

Required Scope: product:read

Query Parameters:

參數類型必填說明
workspaceIdStringO工作區 ID
productTypeStringX商品類型(預設值:FASHION)

Response:

{
"data": {
"templateIds": ["template_01", "template_02"]
}
}

Products (商品)​

查詢商品清單​

GET /openapi/v1/products?workspaceId={workspaceId}

Required Scope: product:read

Query Parameters:

參數類型必填說明
workspaceIdStringO工作區 ID

Response:

{
"data": {
"products": [
{
"productId": "01HXYZ...",
"workspaceId": "01HABC...",
"projectId": "01HDEF...",
"name": "상품명",
"titleImageId": "01HIMG...",
"status": "REVIEW_COMPLETE",
"categoryId": "01HCAT...",
"productType": "FASHION",
"createdId": "01HUSR...",
"updatedId": "01HUSR...",
"createdAt": "2025-01-01T00:00:00+09:00",
"updatedAt": "2025-01-02T00:00:00+09:00"
}
]
}
}

查詢商品詳情​

GET /openapi/v1/products/{productId}

Required Scope: product:read

Response:

{
"data": {
"productId": "01HXYZ...",
"workspaceId": "01HABC...",
"projectId": "01HDEF...",
"name": "상품명",
"titleImageId": "01HIMG...",
"status": "REVIEW_COMPLETE",
"categoryId": "01HCAT...",
"productType": "FASHION",
"createdId": "01HUSR...",
"updatedId": "01HUSR...",
"createdAt": "2025-01-01T00:00:00+09:00",
"updatedAt": "2025-01-02T00:00:00+09:00"
}
}

建立商品​

POST /openapi/v1/products

Required Scope: product:write

Request Body:

{
"workspaceId": "01HABC...",
"products": [
{
"category": "TOP",
"images": ["01HIMG..."],
"projectId": "01HDEF...",
"productNameKo": "상품명(한국어)",
"productNameEn": "Product Name",
"colors": ["BLACK", "WHITE"],
"fabrics": ["COTTON"],
"templateId": "TEMPLATE_01",
"additionalInfo": {
"features": ["스트레치 소재"],
"laundryTips": ["드라이클리닝"],
"sizeName": "FREE",
"sizeTables": [["사이즈","어깨","기장"],["S", "55", "80"], ["M", "60", "85"]],
"manufactureDate": "2025-01",
"manufactureCountry": "대한민국",
"certificationNumber": "KC-12345"
}
}
]
}

Request Fields

欄位類型必填說明
workspaceIdstringO工作區 ID
productsarrayO商品中繼資料陣列(最少 1 個)
products[].categorystringO商品類別(參閱下方)
products[].imagesarrayO圖片 ID 陣列(最少 6 個,需以上傳 URL 事先上傳)
products[].projectIdstring管理名稱(專案 ID)
products[].productNamestring商品名稱
products[].productNameKostring商品名稱(韓文)
products[].productNameEnstring商品名稱(英文)
products[].colorsarrayO色彩清單
products[].fabricsarrayO材質清單
products[].templateIdstringO範本 ID
products[].additionalInfoobject額外資訊
products[].additionalInfo.featuresarray特徵
products[].additionalInfo.laundryTipsarray洗滌資訊
products[].additionalInfo.sizeNamestring尺寸名稱
products[].additionalInfo.sizeTablesarray尺寸表(二維陣列,第一列為標頭資訊)
products[].additionalInfo.manufactureDatestring製造日期
products[].additionalInfo.manufactureCountrystring製造國
products[].additionalInfo.certificationNumberstring認證編號

Category 值

僅支援 CLOTHING,日後預計擴充

Response:

{
"data": {
"productIds": ["01HXYZ...", "01HABC..."]
}
}

變更商品檢核狀態​

PATCH /openapi/v1/products/{productId}/status

Required Scope: product:write

Request Body:

{
"status": "IN_REVIEW"
}
欄位類型必填說明
statusStringO要變更的狀態

可能的狀態值:

狀態說明
BEFORE_REVIEW檢核前
IN_REVIEW檢核中
REVIEW_COMPLETE檢核完成

參考: 僅在檢核前/檢核中/檢核完成狀態時可變更。


Users (使用者)​

查詢我的資訊​

GET /openapi/v1/users/me

Required Scope: user:read

Response:

{
"data": {
"userId": "01HXYZ...",
"email": "user@example.com",
"name": "김젠시",
"permission": "MANAGER",
"createdAt": "2025-01-01T00:00:00+09:00"
}
}
欄位類型說明
userIdString使用者 ID
emailString電子郵件
nameString使用者名稱
permissionString權限 (OWNER: 擁有者, MANAGER: 管理員, MEMBER: 成員)
createdAtString加入日期時間 (ISO 8601)

查詢成員資訊​

GET /openapi/v1/users/{userId}

Required Scope: user:read

Path Parameters:

參數類型必填說明
userIdStringO要查詢的使用者 ID

參考: 僅能查詢同一團隊(master)所屬的使用者。

Response:

{
"data": {
"userId": "01HXYZ...",
"email": "user@example.com",
"name": "김젠시",
"permission": "MANAGER",
"createdAt": "2025-01-01T00:00:00+09:00"
}
}

查詢團隊成員清單​

GET /openapi/v1/users

Required Scope: user:read

Response:

{
"data": {
"members": [
{
"userId": "01HXYZ...",
"userName": "김젠시",
"email": "user@example.com",
"permission": "OWNER",
"createdAt": "2025-01-01T00:00:00+09:00"
}
]
}
}

Images (圖片)​

發行上傳 URL​

POST /openapi/v1/images/upload-url

Required Scope: product:write

Request Body:

{
"workspaceId": "01HABC...",
"extension": "png"
}
欄位類型必填說明
workspaceIdStringO工作區 ID
extensionStringO檔案副檔名 (png, jpg, jpeg, webp)

Response:

{
"data": {
"imageId": "01HXYZ...",
"uploadUrl": "https://s3.amazonaws.com/..."
}
}
欄位類型說明
imageIdString圖片識別碼(建立商品時使用)
uploadUrlStringS3 Presigned URL(有效 1 小時)

下載商品圖片​

GET /openapi/v1/images/download/{productId}?templateId={templateId}

Required Scope: product:read

Query Parameters:

參數類型必填說明
templateIdStringX範本 ID

Response: PNG 圖片檔(binary)


全部端點摘要​

功能MethodEndpointScope
團隊資訊查詢GET/openapi/v1/teamteam:read
額度查詢GET/openapi/v1/usage/creditsteam:read
工作區清單GET/openapi/v1/workspacesteam:read
工作區建立POST/openapi/v1/workspacesteam:write
工作區修改PATCH/openapi/v1/workspaces/{workspaceId}team:write
範本清單GET/openapi/v1/templatesproduct:read
商品清單GET/openapi/v1/productsproduct:read
商品詳情GET/openapi/v1/products/{productId}product:read
服飾商品建立POST/openapi/v1/productsproduct:write
商品狀態變更PATCH/openapi/v1/products/{productId}/statusproduct:write
我的資訊查詢GET/openapi/v1/users/meuser:read
成員資訊查詢GET/openapi/v1/users/{userId}user:read
團隊成員清單GET/openapi/v1/usersuser:read
上傳 URL 建立POST/openapi/v1/images/upload-urlproduct:write
圖片下載GET/openapi/v1/images/download/{productId}product:read