본문으로 건너뛰기

Status API (2023-05)

OMNICOMMERCE의 Management API를 통해 등록 후 상태를 체크하기 위해 사용하는 API 입니다.


API Endpoint

기본 API Endpoint는 아래와 같으며, 현재 최신 버전은 2023-05 입니다.

https://api.kr.omnicommerce.ai/2023-05/


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

Response Example

200 Accepted

status = "DONE"

{
"id": "A1000",
"status": "DONE",
"errors": null,
"requestInfo": {
"url": "https://image-url.jpg",
"salesUrl": "https://sales_url.com",
"mobileSalesUrl": "https://m.sales_url.com",
"detection": "TOP",
"metadata": {
"productName": "product name, 상품명",
"originPrice": 10000,
"currency": "KRW"
}
}
}

status = "PROCESSING"

{
"id": "",
"status": "PROCESSING",
"errors": null,
"requestInfo": {}
}

status = "ERROR"

{
"id": "",
"status": "ERROR",
"errors": "error message",
"requestInfo": {}
}

status = "DELETE"

{
"id": "",
"status": "DELETE",
"errors": null,
"requestInfo": {}
}

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

Response

NameTypeDescription
resultsList요청 상품에 대한 결과를 list로 나타냄
├ results[].idString요청 한 상품의 ID
├ results[].statusString"DONE", "PROCESSING", "ERROR", "DELETE" 4개의 타입
├ results[].errorsStringError 원인에 대한 설명. status가 "ERROR" 기준일때만 전달.
├ results[].requestInfoObjectmanagement API 로 전달한 상품 정보(request Body 정보). status가 “DONE”인 기준일때 만 전달.
├ results[].requestInfo.urlString상품의 대표 이미지 URL
├ results[].requestInfo.detectionStringDetection 정보 에 명시된 값 중 하나 (예: 판매하는 상품이 상의 인 경우: TOP)
├ results[].requestInfo.salesUrlString상품이 판매되고 있는 페이지의 URL
├ results[].requestInfo.mobileSalesUrlString상품이 판매되고 있는 페이지의 모바일 버전 URL
└ results[].requestInfo.metadataObject상품명, 브랜드, 가격, 시즌, 할인율 등 고객 사가 관리하는 다양한 상품 정보들 입니다. (참조: 상품 Meta정보)

Response Example

200 Accepted

전부 요청 성공

{
"results":[
{
"id": "A1000",
"status": "DONE",
"errors": null,
"requestInfo": {
"url": "https://image-url.jpg",
"salesUrl": "https://sales_url.com",
"mobileSalesUrl": "https://m.sales_url.com",
"detection": "TOP",
"metadata": {
"productName": "product name, 상품명",
"originPrice": 10000,
"currency": "KRW"
}
}
},
{
"id": "A1001",
"status": "PROCESSING",
"errors": null,
"requestInfo": {}
},
{
"id": "A1002",
"status": "ERROR",
"errors": "error message"
"requestInfo": {}
},
{
"id": "A1003",
"status": "DELETE",
"errors": null,
"requestInfo": {}
}
]
}