Status API (2022-08)
OMNICOMMERCE의 Management API를 통해 등록 후 상태를 체크하기 위해 사용하는 API 입니다.
API Endpoint
기본 API Endpoint는 아래와 같으며, 현재 최신 버전은 2023-05
입니다.
주의
해당 page의 버전은 2022-08입니다.
https://api.kr.omnicommerce.ai/2022-08/
상품 상태 관리 API
GET /management/status-count: 상품 상태 수량 체크
현재 상품 상태 count를 받을 때 사용합니다.
Request Header
Name | Required | Type | Description |
---|---|---|---|
X-Api-Key | 필수 | String | API Key (참조: API 인증 가이드) |
Response
Name | Type | Description |
---|---|---|
done | Integer | 완료된 상품 개수 |
processing | Integer | 등록 진행 중인 상품 개수 |
error | Integer | 에러 상품 개수 |
Response Example
200 Accepted
요청 성공
{
"done": 1000,
"processing": 1000,
"error": 0
}
GET /management/status/{product_id}: 단일 상품 상태 체크
단일 상품에 대한 처리 상태 정보를 전달합니다.
Requset Header
Name | Required | Type | Description |
---|---|---|---|
X-Api-Key | 필수 | String | API Key (참조: API 인증 가이드) |
Response
Name | Type | Description |
---|---|---|
status | String | "DONE", "PROCESSING", "ERROR" 3개의 타입 |
errors | String | Error 원인에 대한 설명. status가 "ERROR" 기준일때만 전달. |
requestInfo | Object | management API 로 전달한 상품 정보(request Body 정보). status가 “DONE”인 기준일때 만 전달. |
├requestInfo.id | String | 상품 아이디: 상품 아이디는 해당 Workspace 에서 Unique Key 로 사용됩니다. |
├requestInfo.url | String | 상품의 대표 이미지 URL |
├requestInfo.detection | String | Detection 정보 에 명시된 값 중 하나 (예: 판매하는 상품이 상의 인 경우: TOP ) |
├requestInfo.salesUrl | String | 상품이 판매되고 있는 페이지의 URL |
├requestInfo.mobileSalesUrl | String | 상품이 판매되고 있는 페이지의 모바일 버전 URL |
└requestInfo.metadata | Object | 상품명, 브랜드, 가격, 시즌, 할인율 등 고객 사가 관리하는 다양한 상품 정보들 입니다. (참조: 상품 Meta정보) |
Response Example
200 Accepted
status = "DONE"
{
"status": "DONE",
"requestInfo": {
"id": "",
"url": "",
"detection":"",
"salesUrl": "",
"mobileSalesUrl": "",
"metadata": {}
}
}
status = "PROCESSING"
{
"status": "PROCESSING"
}
status = "ERROR"
{
"status": "PROCESSING",
"errors": "error message"
}
POST /management/status: 여러 상품 상태 체크
요청 상품 리스트 요청시 상태체크
Requset Header
Name | Required | Type | Description |
---|---|---|---|
X-Api-Key | 필수 | String | API Key (참조: API 인증 가이드) |
Request Body
Name | Required | Type | Description |
---|---|---|---|
productIds | 필수 | List[String] | 상품 아이디의 List. 최대 100개 까지 가능합니다. |
주의
한 Request 당 최대 100 개 까지 요청 가능 합니다.
Request example
{
"productIds": [
"A1000", "A1001", "A1002"
]
}
Response
Name | Type | Description |
---|---|---|
done | List | 요청 상품 중 "DONE"인 상품, management API 로 전달한 상품 정보(request Body 정보) 전달 |
├done[].id | String | 상품 아이디: 상품 아이디는 해당 Workspace 에서 Unique Key 로 사용됩니다. |
├done[].url | String | 상품의 대표 이미지 URL |
├done[].detection | String | Detection 정보 에 명시된 값 중 하나 (예: 판매하는 상품이 상의 인 경우: TOP ) |
├done[].salesUrl | String | 상품이 판매되고 있는 페이지의 URL |
├done[].mobileSalesUrl | String | 상품이 판매되고 있는 페이지의 모바일 버전 URL |
└done[].metadata | Object | 상품명, 브랜드, 가격, 시즌, 할인율 등 고객 사가 관리하는 다양한 상품 정보들 입니다. (참조: 상품 Meta정보) |
processing | List[String] | 처리중인 상품 ID List |
error | List | Error인 상품 List |
├error[].id | String | 상품 아이디: 상품 아이디는 해당 Workspace 에서 Unique Key 로 사용됩니다. |
└error[].message | String | 처리중 에러 메시지 |
Response Example
200 Accepted
요청한 모든 상품이 done
상태인 경우의 예
{
"done": [{
"id": "A1000",
"url": "",
"detection":"",
"salesUrl": "",
"mobileSalesUrl": "",
"metadata": {}
},{
"id": "A1001",
"url": "",
"detection":"",
"salesUrl": "",
"mobileSalesUrl": "",
"metadata": {}
},{
"id": "A1002",
"url": "",
"detection":"",
"salesUrl": "",
"mobileSalesUrl": "",
"metadata": {}
}],
"processing": [],
"error":[]
}
일부는 done
이고, 일부는 processing
상태인 경우의 예
{
"done": [{
"id": "A1000",
"url": "",
"detection":"",
"salesUrl": "",
"mobileSalesUrl": "",
"metadata": {}
},{
"id": "A1001",
"url": "",
"detection":"",
"salesUrl": "",
"mobileSalesUrl": "",
"metadata": {}
}],
"processing": ["A1002"],
"error":[]
}
done
, processing
, error
인 상태가 모두 존재하는 경우의 예
{
"done": [{
"id": "A1000",
"url": "",
"detection":"",
"salesUrl": "",
"mobileSalesUrl": "",
"metadata": {}
}],
"processing": ["A1001"],
"error":[
{
"id":"A1002",
"message": "error message"
}
]
}
모든 상품이 processing
상태인 경우의 예
{
"done": [],
"processing": ["A1000", "A1001", "A1002"],
"error":[]
}
일부는 processing
, 일부는 error
인 경우의 예
{
"done": [],
"processing": ["A1000"],
"error":[
{
"id":"A1001",
"message": "error message"
}, {
"id":"A1002",
"message": "error message"
}
]
}
모든 상품이 error
상태인 경우의 예
{
"done": [],
"processing": [],
"error":[
{
"id":"A1000",
"message": "error message"
}, {
"id":"A1001",
"message": "error message"
}, {
"id":"A1002",
"message": "error message"
}
]
}