본문으로 건너뛰기

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

NameRequiredTypeDescription
X-Api-Key필수StringAPI Key (참조: API 인증 가이드)

Response

NameTypeDescription
doneInteger완료된 상품 개수
processingInteger등록 진행 중인 상품 개수
errorInteger에러 상품 개수

Response Example

200 Accepted

요청 성공

{
"done": 1000,
"processing": 1000,
"error": 0
}

GET /management/status/{product_id}: 단일 상품 상태 체크

단일 상품에 대한 처리 상태 정보를 전달합니다.

Requset Header

NameRequiredTypeDescription
X-Api-Key필수StringAPI Key (참조: API 인증 가이드)

Response

NameTypeDescription
statusString"DONE", "PROCESSING", "ERROR" 3개의 타입
errorsStringError 원인에 대한 설명. status가 "ERROR" 기준일때만 전달.
requestInfoObjectmanagement API 로 전달한 상품 정보(request Body 정보). status가 “DONE”인 기준일때 만 전달.
├requestInfo.idString상품 아이디: 상품 아이디는 해당 Workspace 에서 Unique Key 로 사용됩니다.
├requestInfo.urlString상품의 대표 이미지 URL
├requestInfo.detectionStringDetection 정보 에 명시된 값 중 하나 (예: 판매하는 상품이 상의 인 경우: TOP)
├requestInfo.salesUrlString상품이 판매되고 있는 페이지의 URL
├requestInfo.mobileSalesUrlString상품이 판매되고 있는 페이지의 모바일 버전 URL
└requestInfo.metadataObject상품명, 브랜드, 가격, 시즌, 할인율 등 고객 사가 관리하는 다양한 상품 정보들 입니다. (참조: 상품 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

NameRequiredTypeDescription
X-Api-Key필수StringAPI Key (참조: API 인증 가이드)

Request Body

NameRequiredTypeDescription
productIds필수List[String]상품 아이디의 List. 최대 100개 까지 가능합니다.
주의

한 Request 당 최대 100 개 까지 요청 가능 합니다.

Request example

{
"productIds": [
"A1000", "A1001", "A1002"
]
}

Response

NameTypeDescription
doneList요청 상품 중 "DONE"인 상품, management API 로 전달한 상품 정보(request Body 정보) 전달
├done[].idString상품 아이디: 상품 아이디는 해당 Workspace 에서 Unique Key 로 사용됩니다.
├done[].urlString상품의 대표 이미지 URL
├done[].detectionStringDetection 정보 에 명시된 값 중 하나 (예: 판매하는 상품이 상의 인 경우: TOP)
├done[].salesUrlString상품이 판매되고 있는 페이지의 URL
├done[].mobileSalesUrlString상품이 판매되고 있는 페이지의 모바일 버전 URL
└done[].metadataObject상품명, 브랜드, 가격, 시즌, 할인율 등 고객 사가 관리하는 다양한 상품 정보들 입니다. (참조: 상품 Meta정보)
processingList[String]처리중인 상품 ID List
errorListError인 상품 List
├error[].idString상품 아이디: 상품 아이디는 해당 Workspace 에서 Unique Key 로 사용됩니다.
└error[].messageString처리중 에러 메시지

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"
}
]
}