Personalization API
API Endpoint
기본 API Endpoint는 아래와 같으며, 현재 최신 버전은 2023-06
입니다.
https://api.kr.omnicommerce.ai/2023-06/
상품 아이디가 포함된 개인화 API
GET /personalization/interest/<product id>?deviceId=<device id>
Request Header
Name | Required | Type | Description |
---|---|---|---|
X-Api-Key | 필수 | String | API Key (참조: API 인증 가이드) |
Request Parameter
Name | Required | Type | Description |
---|---|---|---|
deviceId | 필수 | String | OPM SDK 에서 발급된 User의 Device ID |
strategy | 선택 | String | 개인화 추천시 적용할 strategy 선택. similar-items , recommended-for-you , often-viewed-together , frequently-bought-together , popular-items 중 택 1. 기본값은 recommended-for-you 이며 각 strategy의 상세 정보는 ↗️ Strategy 참조 |
limit | 선택 | String | 추천 결과로 보여줄 상품의 최대 수량 (기본값: 10, 최대값: 500) |
showInfo | 선택 | List[String] | 추천 결과로 보여줄 부가 정보 선택 (복수 선택 가능) [METADATA, IMAGE_INFO, CONTEXT_INFO] |
useWorkspace | 선택 | String | 워크스페이스에 없는 상품도 추천할지 여부 (Y, N) (기본값: Y) |
각 strategy의 상세 정보는 ↗️ Strategy 참조
similar-items
: 이미지를 기반으로 입력 상품과 속성 및 외양이 유사한 다른 제품을 추천. 유사한 상품 중 각 개인의 선호도가 고려된 개인화된 상품 랭킹이 반영되어 최종 추천 제공.often-viewed-together
: 특정 상품을 조회한 다른 고객들이 많이 조회한 상품 추천. 상품의 속성 (브랜드, 카테고리 등)으로 추천 결과를 필터링 기능 제공.recommended-for-you
: 고객의 상품 조회, 구매, 검색, 및 최근 행동 등 다양한 사용자 정보와 이커머스내 상품들의 상세 정보들을 기준으로 사용자가 구매할 가능성이 높은, 또는 클릭할 가능성이 높은 제품을 추천.frequently-bought-together
: 특정 상품과 함께 자주 구매되는 상품을 추천. 추천되는 상품은 각 사용자에 맞게 개인화되며, 상품의 속성 (브랜드, 카테고리 등)으로 추천 결과 필터링 기능 제공.popular-items
: 이커머스내 사용자들의 행동 데이터 (구매, 장바구니 추가, 위시리스트 추가, 조회 등)을 학습해 인기있는 상품을 추천. 인기있는 상품 중 각 사용자에게 맞는 상품이 개인화되어 추천됨.
Request Example
Response
Name | Type | Description |
---|---|---|
id | String | 추천의 기준이 되는 상품의 아이디 |
strategy | String | 요청 시 입력한 strategy. 입력한 값이 없으면 recommended-for-you |
limit | integer | 추천 결과로 보여줄 상품의 최대 수량 |
showInfo | List[String] | 추천 결과로 보여줄 부가 정보 |
recommendation | List[Recommendation] | 추천 결과 항목 (아래 표 참조) |
Recommendation
Name | Type | Description |
---|---|---|
order | Integer | score 순으로 정렬된 순서 (0부터 시작) |
id | String | 추천된 상품 아이디 |
metadata | Object | 추천된 상품의 Meta 정보. showInfo 의 입력값으로 METADATA 가 있는 경우 상품 Metadata 형식의 데이터를 표시. 값이 없는 경우 Null (기본값) |
imageInfo | Object | 추천된 상품의 이미지 정보. showInfo 의 입력값으로 IMAGE_INFO가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ imageInfo.detection | String | 추천된 상품의 Detection 정보 |
└ imageInfo.url | String | 추천된 상품의 대표이미지 URL |
contextInfo | Object | 추천된 상품의 Context 정보. showInfo 의 입력값으로 CONTEXT_INFO 가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ contextInfo.salesUrl | String | 추천된 상품의 판매 페이지 URL |
└ contextInfo.mobileSalesUrl | String | 추천된 상품의 모바일 버전 판매 페이지 URL |
Example Responses
400 Bad Request
{
"errors": "json format error."
}
400 Bad Request
인덱싱에 반영되지 않은 상품 혹은 추천 DB 에 없는 상품 ID 로 요청한경우
{
"errors": "No product id exists."
}
400 Bad Request
strategy가 유효하지 않는 경우
{
"errors": "Strategy is not matched."
}
0 개의 상품이 추천 된경우
HTTP Status Code : 200
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}
한 개 이상의 상품이 추천 된경우
HTTP Status Code : 201
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": [],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": null,
"imageInfo": null,
"contextInfo": null
}
]
}
Metadata, ImageInfo, contextInfo 포함
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": {
"productName": "a",
"originPrice": 100
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": {
"productName": "b",
"originPrice": 200
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": {
"productName": "c",
"originPrice": 300
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": null
}
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": {
"productName": "d",
"originPrice": 400
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": null,
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
}
]
}
POST /personalization/interest/<product id>: 상품 아이디가 포함된 개인화 추천
Request Header
Name | Required | Type | Description |
---|---|---|---|
X-Api-Key | 필수 | String | API Key (참조: API 인증 가이드) |
Content-Type | 필수 | String | 요청 Type. Application/json 만 지원합니다. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
deviceId | 필수 | String | OPM SDK 에서 발급된 User의 Device ID |
strategy | 선택 | String | 개인화 추천시 적용할 strategy 선택. similar-items , recommended-for-you , often-viewed-together , frequently-bought-together , popular-items 중 택 1. 기본값은 recommended-for-you 이며 각 strategy의 상세 정보는 ↗️ Strategy 참조 |
limit | 선택 | String | 추천 결과로 보여줄 상품의 최대 수량 (기본값: 10, 최대값: 500) |
showInfo | 선택 | List[String] | 추천 결과로 보여줄 부가 정보 선택 (복수 선택 가능) [METADATA, IMAGE_INFO, CONTEXT_INFO] |
useWorkspace | 선택 | String | 워크스페이스에 없는 상품도 추천할지 여부 (Y, N) (기본값: Y) |
limit | 선택 | String | 추천 결과로 보여줄 상품의 최대 수량 (기본값: 10, 최대값: 500) |
metadataFilter | 선택 | Object | Metadata Filter Query (참조: Metadata Filter) |
각 strategy의 상세 정보는 ↗️ Strategy 참조
similar-items
: 이미지를 기반으로 입력 상품과 속성 및 외양이 유사한 다른 제품을 추천. 유사한 상품 중 각 개인의 선호도가 고려된 개인화된 상품 랭킹이 반영되어 최종 추천 제공.often-viewed-together
: 특정 상품을 조회한 다른 고객들이 많이 조회한 상품 추천. 상품의 속성 (브랜드, 카테고리 등)으로 추천 결과를 필터링 기능 제공.recommended-for-you
: 고객의 상품 조회, 구매, 검색, 및 최근 행동 등 다양한 사용자 정보와 이커머스내 상품들의 상세 정보들을 기준으로 사용자가 구매할 가능성이 높은, 또는 클릭할 가능성이 높은 제품을 추천.frequently-bought-together
: 특정 상품과 함께 자주 구매되는 상품을 추천. 추천되는 상품은 각 사용자에 맞게 개인화되며, 상품의 속성 (브랜드, 카테고리 등)으로 추천 결과 필터링 기능 제공.popular-items
: 이커머스내 사용자들의 행동 데이터 (구매, 장바구니 추가, 위시리스트 추가, 조회 등)을 학습해 인기있는 상품을 추천. 인기있는 상품 중 각 사용자에게 맞는 상품이 개인화되어 추천됨.
Request Example
{
"limit": 500,
"strategy": "recommended-for-you",
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"deviceId": "01H2D10TR48MPNSPSGE6X3AFRZ",
"useWorkspace": "Y",
"metadataFilter": {
"brand": {
"eq": "channel"
}
}
}
Response
Name | Type | Description |
---|---|---|
id | String | 추천의 기준이 되는 상품의 아이디 |
strategy | String | 요청 시 입력한 strategy. 입력한 값이 없으면 recommended-for-you |
limit | integer | 추천 결과로 보여줄 상품의 최대 수량 |
showInfo | List[String] | 추천 결과로 보여줄 부가 정보 |
recommendation | List[Recommendation] | 추천 결과 항목 (아래 표 참조) |
Recommendation
Name | Type | Description |
---|---|---|
order | Integer | 유사도 순으로 정렬된 순서 (0부터 시작) |
id | String | 추천된 상품 아이디 |
metadata | Object | 추천된 상품의 Meta 정보. showInfo 의 입력값으로 METADATA 가 있는 경우 상품 Metadata 형식의 데이터를 표시. 값이 없는 경우 Null (기본값) |
imageInfo | Object | 추천된 상품의 이미지 정보. showInfo 의 입력값으로 IMAGE_INFO가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ imageInfo.detection | String | 추천된 상품의 Detection 정보 |
└ imageInfo.url | String | 추천된 상품의 대표이미지 URL |
contextInfo | Object | 추천된 상품의 Context 정보. showInfo 의 입력값으로 CONTEXT_INFO 가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ contextInfo.salesUrl | String | 추천된 상품의 판매 페이지 URL |
└ contextInfo.mobileSalesUrl | String | 추천된 상품의 모바일 버전 판매 페이지 URL |
Example Responses
400 Bad Request
{
"errors": "json format error."
}
400 Bad Request
인덱싱에 반영되지 않은 상품 혹은 추천 DB 에 없는 상품 ID 로 요청한경우
{
"errors": "No product id exists."
}
400 Bad Request
strategy가 유효하지 않는 경우
{
"errors": "Strategy is not matched."
}
0 개의 상품이 추천 된경우
HTTP Status Code : 200
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}
한 개 이상의 상품이 추천 된경우
HTTP Status Code : 201
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": [],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": null,
"imageInfo": null,
"contextInfo": null
}
]
}
Metadata, ImageInfo, contextInfo 포함
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": {
"productName": "a",
"originPrice": 100
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": {
"productName": "b",
"originPrice": 200
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": {
"productName": "c",
"originPrice": 300
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": null
}
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": {
"productName": "d",
"originPrice": 400
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": null,
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
}
]
}
관심있는 상품 추천 개인화 API
GET /personalization/interest?deviceId=<device id>
Request Header
Name | Required | Type | Description |
---|---|---|---|
x-api-key | 필수 | String | API Key (참조: API 인증 가이드) |
Request Parameter
Name | Required | Type | Description |
---|---|---|---|
deviceId | 필수 | String | OPM SDK 에서 발급된 User의 Device ID |
strategy | 선택 | String | 개인화 추천시 적용할 strategy 선택. recommended-for-you , popular-items 중 택 1. 상품 아이디가 입력되지 않는 경우, similar-tiems , frequently-bought-together , often-viewed-together 는 지원되지 않음. |
limit | 선택 | String | 추천 결과로 보여줄 상품의 최대 수량 (기본값: 10, 최대값: 500) |
showInfo | 선택 | List[String] | 추천 결과로 보여줄 부가 정보 선택 (복수 선택 가능) [METADATA, IMAGE_INFO, CONTEXT_INFO] |
useWorkspace | 선택 | String | 워크스페이스에 없는 상품도 추천할지 여부 (Y, N) (기본값: Y) |
각 strategy의 상세 정보는 ↗️ Strategy 참조
recommended-for-you
: 고객의 상품 조회, 구매, 검색, 및 최근 행동 등 다양한 사용자 정보와 이커머스내 상품들의 상세 정보들을 기준으로 사용자가 구매할 가능성이 높은, 또는 클릭할 가능성이 높은 제품을 추천.popular-items
: 이커머스내 사용자들의 행동 데이터 (구매, 장바구니 추가, 위시리스트 추가, 조회 등)을 학습해 인기있는 상품을 추천. 인기있는 상품 중 각 사용자에게 맞는 상품이 개인화되어 추천됨.
Request Example
Response
Name | Type | Description |
---|---|---|
id | String | 추천의 기준이 되는 상품의 아이디 |
strategy | String | 요청 시 입력한 strategy. 입력한 값이 없으면 recommended-for-you |
limit | integer | 추천 결과로 보여줄 상품의 최대 수량 |
showInfo | List[String] | 추천 결과로 보여줄 부가 정보 |
recommendation | List[Recommendation] | 추천 결과 항목 (아래 표 참조) |
Recommendation
Name | Type | Description |
---|---|---|
order | Integer | score 순으로 정렬된 순서 (0부터 시작) |
id | String | 추천된 상품 아이디 |
metadata | Object | 추천된 상품의 Meta 정보. showInfo 의 입력값으로 METADATA 가 있는 경우 상품 Metadata 형식의 데이터를 표시. 값이 없는 경우 Null (기본값) |
imageInfo | Object | 추천된 상품의 이미지 정보. showInfo 의 입력값으로 IMAGE_INFO가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ imageInfo.detection | String | 추천된 상품의 Detection 정보 |
└ imageInfo.url | String | 추천된 상품의 대표이미지 URL |
contextInfo | Object | 추천된 상품의 Context 정보. showInfo 의 입력값으로 CONTEXT_INFO 가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ contextInfo.salesUrl | String | 추천된 상품의 판매 페이지 URL |
└ contextInfo.mobileSalesUrl | String | 추천된 상품의 모바일 버전 판매 페이지 URL |
Example Responses
400 Bad Request
{
"errors": "json format error."
}
400 Bad Request
인덱싱에 반영되지 않은 상품 혹은 추천 DB 에 없는 상품 ID 로 요청한경우
{
"errors": "No product id exists."
}
400 Bad Request
strategy가 유효하지 않는 경우
{
"errors": "Strategy is not matched."
}
0 개의 상품이 추천 된경우
HTTP Status Code : 200
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}
한 개 이상의 상품이 추천 된경우
HTTP Status Code : 201
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": [],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": null,
"imageInfo": null,
"contextInfo": null
}
]
}
Metadata, ImageInfo, contextInfo 포함
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": {
"productName": "a",
"originPrice": 100
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": {
"productName": "b",
"originPrice": 200
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": {
"productName": "c",
"originPrice": 300
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": null
}
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": {
"productName": "d",
"originPrice": 400
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": null,
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
}
]
}
POST /personalization/interest: 관심있는 상품 추천
Request Header
Name | Required | Type | Description |
---|---|---|---|
X-Api-Key | 필수 | String | API Key (참조: API 인증 가이드) |
Content-Type | 필수 | String | 요청 Type. Application/json 만 지원합니다. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
deviceId | 필수 | String | OPM SDK 에서 발급된 User의 Device ID |
strategy | 선택 | String | 개인화 추천시 적용할 strategy 선택. recommended-for-you , popular-items 중 택 1. 상품 아이디가 입력되지 않는 경우, similar-tiems , frequently-bought-together , often-viewed-together 는 지원되지 않음. |
limit | 선택 | String | 추천 결과로 보여줄 상품의 최대 수량 (기본값: 10, 최대값: 500) |
useWorkspace | 선택 | String | 워크스페이스에 없는 상품도 추천할지 여부 (Y, N) (기본값: Y) |
limit | 선택 | String | 추천 결과로 보여줄 상품의 최대 수량 (기본값: 10, 최대값: 500) |
metadataFilter | 선택 | Object | Metadata Filter Query (참조: Metadata Filter) |
각 strategy의 상세 정보는 ↗️ Strategy 참조
recommended-for-you
: 고객의 상품 조회, 구매, 검색, 및 최근 행동 등 다양한 사용자 정보와 이커머스내 상품들의 상세 정보들을 기준으로 사용자가 구매할 가능성이 높은, 또는 클릭할 가능성이 높은 제품을 추천.popular-items
: 이커머스내 사용자들의 행동 데이터 (구매, 장바구니 추가, 위시리스트 추가, 조회 등)을 학습해 인기있는 상품을 추천. 인기있는 상품 중 각 사용자에게 맞는 상품이 개인화되어 추천됨.
Request Example
{
"limit": 500,
"strategy": "recommended-for-you",
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"deviceId": "01H2D10TR48MPNSPSGE6X3AFRZ",
"useWorkspace": "Y",
"metadataFilter": {
"brand": {
"eq": "channel"
}
}
}
Response
Name | Type | Description |
---|---|---|
id | String | 추천의 기준이 되는 상품의 아이디 |
strategy | String | 요청 시 입력한 strategy. 입력한 값이 없으면 recommended-for-you |
limit | integer | 추천 결과로 보여줄 상품의 최대 수량 |
showInfo | List[String] | 추천 결과로 보여줄 부가 정보 |
recommendation | List[Recommendation] | 추천 결과 항목 (아래 표 참조) |
Recommendation
Name | Type | Description |
---|---|---|
order | Integer | 유사도 순으로 정렬된 순서 (0부터 시작) |
id | String | 추천된 상품 아이디 |
metadata | Object | 추천된 상품의 Meta 정보. showInfo 의 입력값으로 METADATA 가 있는 경우 상품 Metadata 형식의 데이터를 표시. 값이 없는 경우 Null (기본값) |
imageInfo | Object | 추천된 상품의 이미지 정보. showInfo 의 입력값으로 IMAGE_INFO가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ imageInfo.detection | String | 추천된 상품의 Detection 정보 |
└ imageInfo.url | String | 추천된 상품의 대표이미지 URL |
contextInfo | Object | 추천된 상품의 Context 정보. showInfo 의 입력값으로 CONTEXT_INFO 가 있는 경우 값을 표시. 값이 없는 경우 Null (기본값) |
├ contextInfo.salesUrl | String | 추천된 상품의 판매 페이지 URL |
└ contextInfo.mobileSalesUrl | String | 추천된 상품의 모바일 버전 판매 페이지 URL |
Example Responses
400 Bad Request
{
"errors": "json format error."
}
400 Bad Request
인덱싱에 반영되지 않은 상품 혹은 추천 DB 에 없는 상품 ID 로 요청한경우
{
"errors": "No product id exists."
}
400 Bad Request
strategy가 유효하지 않는 경우
{
"errors": "Strategy is not matched."
}
0 개의 상품이 추천 된경우
HTTP Status Code : 200
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}
한 개 이상의 상품이 추천 된경우
HTTP Status Code : 201
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": [],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": null,
"imageInfo": null,
"contextInfo": null
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": null,
"imageInfo": null,
"contextInfo": null
}
]
}
Metadata, ImageInfo, contextInfo 포함
{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"recommendation": [
{
"order": 0,
"id": "AT000123FB",
"similarityScore": 0.99,
"metadata": {
"productName": "a",
"originPrice": 100
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 1,
"id": "AT00158AE",
"similarityScore": 0.98,
"metadata": {
"productName": "b",
"originPrice": 200
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
},
{
"order": 2,
"id": "F800158GA",
"similarityScore": 0.97,
"metadata": {
"productName": "c",
"originPrice": 300
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": "http://imageserverurl/some.image.jpg",
"mobileSalesUrl": null
}
},
{
"order": 3,
"id": "AF10881GK",
"similarityScore": 0.96,
"metadata": {
"productName": "d",
"originPrice": 400
},
"imageInfo": {
"detection": "TOP",
"url": "http://imageserverurl/some.image.jpg"
},
"contextInfo": {
"salesUrl": null,
"mobileSalesUrl": "http://imageserverurl/some.image.jpg"
}
}
]
}