Skip to main content

Personalization API

API Endpoint

The default API Endpoint is as follows, and the current latest version is 2023-06.

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


Hyper Personalized API

GET /personalization/interest/<product id>?deviceId=<device id>

Request Header

NameRequiredTypeDescription
X-Api-KeyRequiredStringAPI Key (refer to API Authentication Guide)

Request Parameter

NameRequiredTypeDescription
deviceIdRequiredStringDevice ID issued from OPM SDK
strategyOptionalStringSelect a strategy to apply for personalized recommendations. Choose one among similar-items, recommended-for-you, often-viewed-together, frequently-bought-together, popular-items.
The default value is recommended-for-you, and detailed information on each strategy can be found in ↗️ Strategy
limitOptionalStringMaximum number of products to be displayed in the recommendation results (Default: 10, Maximum: 500)
showInfoOptionalList[String]Choice of additional information to be displayed in the recommendation results (Multiple selections possible)
[METADATA, IMAGE_INFO, CONTEXT_INFO]
info

For detailed information on each strategy, see ↗️ Strategy

  • similar-items: Recommends other products that are similar in attributes and appearance to the input product based on images. A personalized product ranking, considering the preferences of each individual among similar products, is reflected in the final recommendation.
  • often-viewed-together: Recommends products that other customers who viewed a specific product also viewed frequently. Offers a filtering function for recommendation results based on product attributes (brand, category, etc.).
  • recommended-for-you: Recommends products that the customer is likely to purchase or click on, based on a variety of user information such as product views, purchases, searches, and recent actions, as well as detailed information on products within the e-commerce platform.
  • frequently-bought-together: Products that are frequently purchased together with a specific product will be recommended. These recommended products will be personalized for each user. The recommendation results can be filtered based on product attributes (e.g., brand, category, etc.).
  • popular-items: Using user behavior data within e-commerce (such as purchases, cart additions, wishlist additions, views, etc.), popular products will be recommended. Among these popular products, those that are personalized for each user will be recommended.

Request Example

/personalization/interest/A1101?deviceId=01H2D10TR48MPNSPSGE6X3AFRZ&strategy=recommended-for-you&limit=10&showInfo=IMAGE_INFO&showInfo=METADATA&showInfo=CONTEXT_INFO

Response

NameTypeDescription
idStringThe product ID used as a query for recommendations.
strategyStringInput values ​​are passed. If no input is entered: recommended-for-you
limitintegerMaximum number of products to be displayed in the recommendation results
showInfoList[String]Additional information to be displayed in the recommendation results
recommendationList[Recommendation]Recommended result items (Refer to the table below)
Recommendation
Name
TypeDescription
orderIntegerThe order sorted by score (starts from 0)
idStringProduct ID of the recommended product
metadataObjectMeta information of the recommended product. If the input value for showInfo is METADATA, it displays data in the format of Product Metadata. If there's no value, Null (default)
imageInfoObjectImage information of the recommended product. If the input value for showInfo is IMAGE_INFO, it displays the value. If there's no value, Null (default)
├ imageInfo.detectionStringDetection information of the recommended product
└ imageInfo.urlStringThe main image URL of the recommended product
contextInfoObjectContext information of the recommended product. If the input value for showInfo is CONTEXT_INFO, it displays the value. If there's no value, Null (default)
├ contextInfo.salesUrlStringThe sales page URL of the recommended product
└ contextInfo.mobileSalesUrlStringThe mobile version sales page URL of the recommended product

Example Responses

400 Bad Request

{
"errors": "json format error."
}

400 Bad Request In case a requested product was not reflected in the indexing or the recommendation DB.

{
"errors": "No product id exists."
}

400 Bad Request strategy is not matched

{
"errors": "Strategy is not matched."
}

When recommendations does not exist

HTTP Status Code : 200

{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}

When recommendations exists

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

Recommendations with Metadata, ImageInfo, and 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

NameRequiredTypeDescription
X-Api-KeyRequiredStringAPI Key (refer to API Authentication Guide)
Content-TypeRequiredStringContent Type. Only Application/json is supported.

Request Body

NameRequiredTypeDescription
deviceIdRequiredStringDevice ID issued from OPM SDK
strategyOptionalStringSelect a strategy to apply for personalized recommendations. Choose one among similar-items, recommended-for-you, often-viewed-together, frequently-bought-together, popular-items.
The default value is recommended-for-you, and detailed information on each strategy can be found in ↗️ Strategy
limitOptionalStringMaximum number of products to be displayed in the recommendation results (Default: 10, Maximum: 500)
showInfoOptionalList[String]Choice of additional information to be displayed in the recommendation results (Multiple selections possible)
[METADATA, IMAGE_INFO, CONTEXT_INFO]
info

For detailed information on each strategy, see ↗️ Strategy

  • similar-items: Recommends other products that are similar in attributes and appearance to the input product based on images. A personalized product ranking, considering the preferences of each individual among similar products, is reflected in the final recommendation.
  • often-viewed-together: Recommends products that other customers who viewed a specific product also viewed frequently. Offers a filtering function for recommendation results based on product attributes (brand, category, etc.).
  • recommended-for-you: Recommends products that the customer is likely to purchase or click on, based on a variety of user information such as product views, purchases, searches, and recent actions, as well as detailed information on products within the e-commerce platform.
  • frequently-bought-together: Products that are frequently purchased together with a specific product will be recommended. These recommended products will be personalized for each user. The recommendation results can be filtered based on product attributes (e.g., brand, category, etc.).
  • popular-items: Using user behavior data within e-commerce (such as purchases, cart additions, wishlist additions, views, etc.), popular products will be recommended. Among these popular products, those that are personalized for each user will be recommended.

Request Example

{
"limit": 500,
"strategy": "recommended-for-you",
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"deviceId": "01H2D10TR48MPNSPSGE6X3AFRZ"
}

Response

NameTypeDescription
idStringThe product ID used as a query for recommendations.
strategyStringInput values ​​are passed. If no input is entered: recommended-for-you
limitintegerMaximum number of products to be displayed in the recommendation results
showInfoList[String]Additional information to be displayed in the recommendation results
recommendationList[Recommendation]Recommended result items (Refer to the table below)
Recommendation
Name
TypeDescription
orderIntegerThe order sorted by score (starts from 0)
idStringProduct ID of the recommended product
metadataObjectMeta information of the recommended product. If the input value for showInfo is METADATA, it displays data in the format of Product Metadata. If there's no value, Null (default)
imageInfoObjectImage information of the recommended product. If the input value for showInfo is IMAGE_INFO, it displays the value. If there's no value, Null (default)
├ imageInfo.detectionStringDetection information of the recommended product
└ imageInfo.urlStringThe main image URL of the recommended product
contextInfoObjectContext information of the recommended product. If the input value for showInfo is CONTEXT_INFO, it displays the value. If there's no value, Null (default)
├ contextInfo.salesUrlStringThe sales page URL of the recommended product
└ contextInfo.mobileSalesUrlStringThe mobile version sales page URL of the recommended product

Example Responses

400 Bad Request

{
"errors": "json format error."
}

400 Bad Request In case a requested product was not reflected in the indexing or the recommendation DB.

{
"errors": "No product id exists."
}

400 Bad Request strategy is not matched

{
"errors": "Strategy is not matched."
}

When recommendations does not exist

HTTP Status Code : 200

{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}

When recommendations exists

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

Recommendations with Metadata, ImageInfo, and 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"
}
}
]
}

Personalized interest API

GET /personalization/interest?deviceId=<device id>

Request Header

NameRequiredTypeDescription
x-api-keyRequiredStringAPI Key (refer to API Authentication Guide)

Request Parameter

NameRequiredTypeDescription
deviceIdRequiredStringDevice ID issued from OPM SDK
strategyOptionalStringSelect a strategy to apply for personalized recommendations. Choose one among recommended-for-you, popular-items. If no product ID is entered, similar-items, often-viewed-together, frequently-bought-together are not supported.
limitOptionalStringMaximum number of products to be displayed in the recommendation results (Default: 10, Maximum: 500)
showInfoOptionalList[String]Choice of additional information to be displayed in the recommendation results (Multiple selections possible)
[METADATA, IMAGE_INFO, CONTEXT_INFO]
info

For detailed information on each strategy, see ↗️ Strategy

  • recommended-for-you: Recommends products that the customer is likely to purchase or click on, based on a variety of user information such as product views, purchases, searches, and recent actions, as well as detailed information on products within the e-commerce platform.
  • popular-items: Using user behavior data within e-commerce (such as purchases, cart additions, wishlist additions, views, etc.), popular products will be recommended. Among these popular products, those that are personalized for each user will be recommended.

Request Example

/personalization/interest?deviceId=01H2D10TR48MPNSPSGE6X3AFRZ&strategy=recommended-for-you&limit=10&showInfo=IMAGE_INFO&showInfo=METADATA&showInfo=CONTEXT_INFO

Response

NameTypeDescription
idStringThe product ID used as a query for recommendations.
strategyStringInput values ​​are passed. If no input is entered: recommended-for-you
limitintegerMaximum number of products to be displayed in the recommendation results
showInfoList[String]Additional information to be displayed in the recommendation results
recommendationList[Recommendation]Recommended result items (Refer to the table below)
Recommendation
Name
TypeDescription
orderIntegerThe order sorted by score (starts from 0)
idStringProduct ID of the recommended product
metadataObjectMeta information of the recommended product. If the input value for showInfo is METADATA, it displays data in the format of Product Metadata. If there's no value, Null (default)
imageInfoObjectImage information of the recommended product. If the input value for showInfo is IMAGE_INFO, it displays the value. If there's no value, Null (default)
├ imageInfo.detectionStringDetection information of the recommended product
└ imageInfo.urlStringThe main image URL of the recommended product
contextInfoObjectContext information of the recommended product. If the input value for showInfo is CONTEXT_INFO, it displays the value. If there's no value, Null (default)
├ contextInfo.salesUrlStringThe sales page URL of the recommended product
└ contextInfo.mobileSalesUrlStringThe mobile version sales page URL of the recommended product

Example Responses

400 Bad Request

{
"errors": "json format error."
}

400 Bad Request In case a requested product was not reflected in the indexing or the recommendation DB.

{
"errors": "No product id exists."
}

400 Bad Request strategy가 유효하지 않는 경우

{
"errors": "Strategy is not matched."
}

When recommendations does not exist

HTTP Status Code : 200

{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}

When recommendations exists

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

Recommendations with Metadata, ImageInfo, and 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

NameRequiredTypeDescription
X-Api-KeyRequiredStringAPI Key (refer to API Authentication Guide)
Content-TypeRequiredStringContent Type. Only Application/json is supported.

Request Body

NameRequiredTypeDescription
deviceIdRequiredStringDevice ID issued from OPM SDK
strategyOptionalStringSelect a strategy to apply for personalized recommendations. Choose one among recommended-for-you, popular-items. If no product ID is entered, similar-items, often-viewed-together, frequently-bought-together are not supported.
limitOptionalStringMaximum number of products to be displayed in the recommendation results (Default: 10, Maximum: 500)
showInfoOptionalList[String]Choice of additional information to be displayed in the recommendation results (Multiple selections possible)
[METADATA, IMAGE_INFO, CONTEXT_INFO]
info

For detailed information on each strategy, see ↗️ Strategy

  • recommended-for-you: Recommends products that the customer is likely to purchase or click on, based on a variety of user information such as product views, purchases, searches, and recent actions, as well as detailed information on products within the e-commerce platform.
  • popular-items: Using user behavior data within e-commerce (such as purchases, cart additions, wishlist additions, views, etc.), popular products will be recommended. Among these popular products, those that are personalized for each user will be recommended.

Request Example

{
"limit": 500,
"strategy": "recommended-for-you",
"showInfo": ["METADATA", "IMAGE_INFO", "CONTEXT_INFO"],
"deviceId": "01H2D10TR48MPNSPSGE6X3AFRZ"
}

Response

NameTypeDescription
idStringThe product ID used as a query for recommendations.
strategyStringInput values ​​are passed. If no input is entered: recommended-for-you
limitintegerMaximum number of products to be displayed in the recommendation results
showInfoList[String]Additional information to be displayed in the recommendation results
recommendationList[Recommendation]Recommended result items (Refer to the table below)
Recommendation
Name
TypeDescription
orderIntegerThe order sorted by score (starts from 0)
idStringProduct ID of the recommended product
metadataObjectMeta information of the recommended product. If the input value for showInfo is METADATA, it displays data in the format of Product Metadata. If there's no value, Null (default)
imageInfoObjectImage information of the recommended product. If the input value for showInfo is IMAGE_INFO, it displays the value. If there's no value, Null (default)
├ imageInfo.detectionStringDetection information of the recommended product
└ imageInfo.urlStringThe main image URL of the recommended product
contextInfoObjectContext information of the recommended product. If the input value for showInfo is CONTEXT_INFO, it displays the value. If there's no value, Null (default)
├ contextInfo.salesUrlStringThe sales page URL of the recommended product
└ contextInfo.mobileSalesUrlStringThe mobile version sales page URL of the recommended product

Example Responses

400 Bad Request

{
"errors": "json format error."
}

400 Bad Request In case a requested product was not reflected in the indexing or the recommendation DB.

{
"errors": "No product id exists."
}

400 Bad Request strategy가 유효하지 않는 경우

{
"errors": "Strategy is not matched."
}

When recommendations does not exist

HTTP Status Code : 200

{
"id": "AT000123FB",
"strategy": "recommended-for-you",
"limit": 10,
"showInfo": ["METADATA", "IMAGE_INFO"],
"recommendation": []
}

When recommendations exists

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

Recommendations with Metadata, ImageInfo, and 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"
}
}
]
}