Este módulo está disponible al suscribirse al módulo Product Recommendation o al add-on Product Targeting.
obtainRecommendedProducts
El métodoobtainRecommendedProducts() recupera los productos recomendados calculados por el algoritmo especificado mediante una llamada asincrónica al servidor.
Kameleoon.API.Products.obtainRecommendedProducts(
"1a2b3c4d",
{
item: 123500,
exclude: [3, 14, 159, 26535],
category: 146,
search_query: "To be or not to be",
limit: 15,
brands: ["Alas", "poor", "Yorick", 'kameleooner'],
categories: [1, 146, 123500]
},
function (response) {
// funcionalidad para renderizar un bloque de recomendaciones de producto
},
function (error) {
// cuando algo ha ido mal
}
);
Este método requiere un seguimiento de producto correcto, como
trackProductView() o trackCategoryView(), para devolver resultados significativos.| Nombre | Tipo | Descripción |
|---|---|---|
| code | String | Código único del bloque de recomendaciones. |
| params | Object | Parámetros para controlar los datos devueltos por la plataforma de recomendaciones. |
| successCallback | Function | Función callback que recibe el objeto de respuesta de la API. Este campo es obligatorio. |
| errorCallback | Function | Función callback que se ejecuta si se produce un error. Este campo es opcional. |
Parámetros para controlar los datos devueltos por la plataforma de recomendaciones
| Nombre | Tipo | Descripción |
|---|---|---|
| item | String | ID del producto actual. Obligatorio para los algoritmos “Similar” y “They also bought this product”. |
| exclude | Array | Lista separada por comas de identificadores de producto que se van a excluir. |
| extended | Number | Cuando es “1”, el método devuelve los detalles completos del producto. Si se omite, solo devuelve los IDs de producto. |
| category | Number | Obligatorio para los algoritmos en páginas de categoría. Limita las recomendaciones a la categoría especificada. |
| categories | Array | Este campo es opcional. Si se utiliza, devuelve productos recomendados únicamente de las categorías especificadas (lista separada por comas de IDs de categoría). |
| brands | Array | Este campo es opcional. Si se utiliza, devuelve productos recomendados únicamente de las marcas especificadas (lista separada por comas de marcas). |
| locations | Array | Este campo es opcional. Si se utiliza, devuelve productos recomendados disponibles en las ubicaciones indicadas (lista separada por comas de IDs de ubicación). |
| limit | Number | Este campo es opcional. Número máximo de productos recomendados. |
| exclude_brands | Number | Este campo es opcional. Lista de marcas separadas por comas que se excluirán de la recomendación. |
| Nombre | Tipo | Descripción |
|---|---|---|
| html | String | El código HTML del bloque. Personalice la plantilla HTML en la cuenta personal de Kameleoon. |
| title | String | Título del bloque. Corresponde al valor del elemento “Action” en las reglas del bloque. |
| products | Array | Lista de IDs de producto. |
| id | Number | Identificador único del bloque. Corresponde al ID del bloque en la lista de bloques de la cuenta personal de Kameleoon. |
obtainInstantSearchProducts
El métodoobtainInstantSearchProducts() recupera resultados de búsqueda instantánea personalizados de Kameleoon Search mediante una llamada asincrónica al servidor.
Kameleoon.API.Products.obtainInstantSearchProducts(
{
search_query: "To be or not to be"
},
function (response) {
// funcionalidad para renderizar un bloque desde instant search
},
function (error) {
// para gestionar cuándo algo va mal
}
);
| Nombre | Tipo | Descripción |
|---|---|---|
| search_query | String | Consulta de búsqueda proporcionada por el usuario. Este campo es obligatorio. |
| successCallback | Function | Función callback que recibe el objeto de respuesta de la API. Este campo es obligatorio. |
| errorCallback | Function | Función callback que se ejecuta si se produce un error. Este campo es opcional. |
[] indica un array de objetos, por lo que products[].name es el nombre de cada producto.
| Nombre | Tipo | Descripción |
|---|---|---|
| search_query | String | Consulta de búsqueda. |
| categories | Array | Array con información sobre las categorías. |
| categories[].id | String | ID de la categoría. |
| categories[].name | String | Nombre de la categoría. |
| categories[].url | String | URL de la categoría. |
| categories[].count | Number | Número de productos de la categoría. |
| filters | Array | Array con información sobre los filtros. |
| filters[].filter.count | Number | Número total de productos con estos parámetros. |
| filters[].filter.values[].value | String | Etiqueta del valor. |
| filters[].filter.values[].count | Number | Número de productos con este parámetro. |
| html | String | Código HTML del bloque con productos. Personalice la plantilla en su cuenta personal de Kameleoon. |
| price_range | Object | Precio mínimo y máximo de los productos. |
| price_range.min | Number | Precio mínimo. |
| price_range.max | Number | Precio máximo. |
| products | Array | Array con información sobre los productos. |
| products[].description | String | Descripción del producto. |
| products[].url | String | URL absoluta del producto. |
| products[].url_handle | String | URL relativa del producto. |
| products[].picture | String | URL de la imagen del producto en el almacenamiento de Kameleoon. |
| products[].name | String | Nombre del producto. |
| products[].price | Number / int | Precio del producto. |
| products[].price_full | Number / float | Precio del producto. |
| products[].price_formatted | String | Precio del producto con la moneda. |
| products[].price_full_formatted | String | Precio del producto con la moneda. |
| products[].image_url | String | URL absoluta de la imagen del producto en el almacenamiento de Kameleoon. |
| products[].image_url_handle | String | URL relativa de la imagen del producto en el almacenamiento de Kameleoon. |
| products[].image_url_resized | Array | URL de las versiones redimensionadas de la imagen del producto. |
| products[].currency | String | Moneda del producto. Corresponde a la moneda de su cuenta personal de Kameleoon o a un valor personalizado especificado en la configuración de la tienda de la cuenta. |
| products[].id | String | ID del producto. |
| products[].old_price | Number / int | Precio anterior del producto. El valor por defecto es 0. |
| products[].old_price_full | Number / float | Precio anterior del producto. |
| products[].old_price_formatted | String | Precio anterior del producto con la moneda. |
| products[].old_price_full_formatted | String | Precio anterior del producto con la moneda. |
| products[].categories | Array | Categorías del producto. Solo se incluyen cuando la petición pasa el parámetro extended. |
| products[].categories[].id | String | ID de la categoría. |
| products[].categories[].name | String | Nombre de la categoría. |
| products[].categories[].parent_id | String | ID de la categoría padre. |
| products[].categories[].url | String | URL de la categoría. |
| products[].categories[].category_ids | Array | IDs de las categorías del producto. |
| search_query_redirects | Array | Array con información sobre las redirecciones. |
| search_query_redirects[].query | String | Consulta de búsqueda. |
| search_query_redirects[].redirect_link | String | URL de la redirección. |
| search_query_redirects[].deep_link | String | URL para aplicaciones móviles. |
| products_total | Number | Número total de productos. |
obtainFullSearchProducts
Use el métodoobtainFullSearchProducts() para recuperar resultados de búsqueda completos de la solución Kameleoon Search con opciones de filtrado.
Kameleoon.API.Products.obtainFullSearchProducts(
{
search_query: "To be or not to be",
limit: 15,
brands: ["Alas", "poor", "Yorick"],
categories: [1, 146, 100500],
filters: { key: ["value"], key: ["value"] },
sort_by: "price",
order: "asc"
},
function (response) {
// funcionalidad para renderizar un bloque desde full search
},
function (error) {
// cuando algo ha ido mal
}
);
| Nombre | Tipo | Descripción |
|---|---|---|
| search_query | Object | Consulta de búsqueda proporcionada por el usuario y parámetros opcionales de filtro. Revise los parámetros de filtrado en la siguiente sección. Este campo es obligatorio. |
| successCallback | Function | Función callback que recibe el objeto de respuesta de la API. Este campo es obligatorio. |
| errorCallback | Function | Función callback que se ejecuta si se produce un error. Este campo es opcional. |
Parámetros para filtrar los resultados
| Nombre | Tipo | Descripción |
|---|---|---|
| search_query | String | Consulta de búsqueda. Este campo es obligatorio. |
| limit | Number | Límite de resultados. Este campo es opcional. |
| offset | Number | Offset de resultados. Este campo es opcional. |
| category_limit | Number | Cuántas categorías devolver para el filtro lateral. Este campo es opcional. |
| categories | Array | Lista separada por comas de categorías para filtrar. Este campo es opcional. |
| extended | Number | Establezca en true para obtener resultados de búsqueda completos. |
| sort_by | String | Parámetro de ordenación: popular, price, discount, sales_rate, date. Este campo es opcional. |
| order | String | Dirección de ordenación: asc o desc (por defecto). Este campo es opcional. |
| locations | Array | Lista separada por comas de IDs de ubicaciones. Este campo es opcional. |
| brands | Array | Lista separada por comas de marcas para filtrar. Este campo es opcional. |
| filters | String | Cadena JSON escapada opcional con parámetros de filtro. Por ejemplo: {"bluetooth":["yes"],"offers":["15% cashback"],"weight":["1.6"]}. Este campo es opcional. |
| price_min | Number | Precio mínimo. Este campo es opcional. |
| price_max | Number | Precio máximo. Este campo es opcional. |
| colors false | Array | Lista separada por comas de colores. Este campo es opcional. |
| fashion_sizes | Array | Lista separada por comas de tallas. Este campo es opcional. |
| exclude | Array | Lista separada por comas de IDs de producto que se excluirán de los resultados. Este campo es opcional. |
| String | Solo para integración S2S, cuando el servicio no dispone de la sesión del usuario. El SDK móvil no lo usa. Este campo es opcional. | |
| no_clarification | Boolean | Desactiva la búsqueda aclarada. El valor por defecto es false. No use este parámetro salvo que el soporte de Kameleoon se lo indique. |
| merchants | Array | Lista separada por comas de comerciantes. Este campo es opcional. |
| filters_search_by | String | Opciones disponibles para el filtro: name, quantity, popularity. Este campo es opcional. |
[] indica un array de objetos, por lo que products[].name es el nombre de cada producto.
| Nombre | Tipo | Descripción |
|---|---|---|
| search_query | String | Consulta de búsqueda introducida por el usuario. |
| brands | Array | Array con información sobre las marcas. |
| brands[].name | String | Nombre de la marca. |
| brands[].picture | String | Imagen de la marca. |
| categories | Array | Array con información sobre las categorías. |
| categories[].alias | String | Alias de la categoría. |
| categories[].id | String | ID de la categoría. |
| categories[].name | String | Nombre de la categoría. |
| categories[].parent | String | ID de la categoría padre. |
| categories[].url | String | URL de la categoría. |
| filters | Array | Array con información sobre los filtros. |
| filters[].filter.count | Number | Número total de productos con estos parámetros. |
| filters[].filter.values[].value | String | Etiqueta del valor. |
| filters[].filter.values[].count | Number | Número de productos con este parámetro. |
| html | String | Código HTML del bloque con productos. Personalice la plantilla en su cuenta personal de Kameleoon. |
| price_range | Object | Precio mínimo y máximo de los productos. |
| price_range.min | Number | Precio mínimo. |
| price_range.max | Number | Precio máximo. |
| products | Array | Array con información sobre los productos. |
| products[].brand | String | Marca del producto. |
| products[].currency | String | Moneda del producto. Corresponde a la moneda de su cuenta personal de Kameleoon o a un valor personalizado especificado en la configuración de la tienda de la cuenta. |
| products[].id | String | ID del producto. |
| products[].is_new | Boolean | Propiedad del producto. El valor por defecto es null. |
| products[].name | String | Nombre del producto. |
| products[].old_price | String | Precio anterior del producto. El valor por defecto es 0. |
| products[].picture | String | URL de la imagen del producto en el almacenamiento de Kameleoon. |
| products[].price | Number | Precio del producto. |
| products[].price_formatted | String | Precio del producto con la moneda. |
| products[].url | String | URL del producto. |
| products[].barcode | String | Código de barras del producto. Solo se incluye cuando la petición pasa el parámetro extended. |
| products[].categories | Array | Categorías del producto. |
| products[].categories[].id | String | ID de la categoría. |
| products[].categories[].name | String | Nombre de la categoría. |
| products[].categories[].parent | String | ID de la categoría padre. |
| products[].params | Array | Información sobre los parámetros del producto. |
| products[].params[].key | String | Nombre del parámetro. |
| products[].params[].values | Array | Valores del parámetro. |
| products_total | Number | Número total de productos. |
obtainProductInteractions
El métodoobtainProductInteractions() recupera métricas de interacción de productos rastreados mediante trackProductView(), trackTransaction() o trackAddToCart().
Kameleoon.API.Products.obtainProductInteractions("123456", product => {
console.log("product", product); // {123456: {views: 1, cartQuantities: 0, boughtQuantities: 0}}
});
Kameleoon.API.Products.obtainProductInteractions(["123456", "654321"], products => {
console.log("products", products);
});
Kameleoon.API.Products.obtainProductInteractions(
"123456",
callback,
new Date().getTime() - 1000 * 60 * 60 * 24, // timeBegin
new Date().getTime() // timeEnd
);
| Nombre | Tipo | Descripción |
|---|---|---|
| eans | Array | IDs de producto (como Strings). Este campo es obligatorio. |
| callback | Function | Función callback que recibe los datos del producto. Este campo es obligatorio. |
| timeBegin | Number | Inicio del rango de fechas (timestamp UNIX en milisegundos). |
| timeEnd | Number | Fin del rango de fechas (timestamp UNIX en milisegundos). |
| Nombre | Tipo | Descripción |
|---|---|---|
| eans | Array | Identificador único del producto. Cada ID de producto se asigna a un objeto que contiene métricas de interacción. |
| views | integer | Número de veces que los visitantes vieron el producto. |
| cartQuantities | integer | Número total de veces que los visitantes añadieron el producto a su carrito. |
| boughtQuantities | integer | Número total de veces que los visitantes compraron el producto. |
obtainProductData
El métodoobtainProductData() recupera la información de los productos enviados mediante trackProductView().
Kameleoon.API.Products.obtainProductData("123456", product => {
console.log("product", product);
});
Kameleoon.API.Products.obtainProductData(["123456", "654321"], products => {
console.log("products", products);
});
Kameleoon.API.Products.obtainProductData("123456", callback, {
name: true,
categoryId: true
}); // {123456: {name: '', categoryId: '' }}
| Nombre | Tipo | Descripción |
|---|---|---|
| eans | Array | IDs de producto (como Strings). Este campo es obligatorio. |
| callback | Function | Función callback que recibe los datos del producto. Este campo es obligatorio. |
| parameters | Object | Parámetros opcionales para recuperar campos específicos. Por defecto { all: true }. |
| Nombre | Tipo | Descripción |
|---|---|---|
| eans | Array | Identificador único del producto. Cada ID de producto se asigna a un objeto que contiene métricas de interacción. |
| productData | Object | Objeto Product. Este campo recibe el mismo objeto que envía trackProductView. |
obtainRecommendedCollections
El métodoobtainRecommendedCollections() recupera los productos de la colección especificada.
Kameleoon.API.Products.obtainRecommendedCollections("123456", collections => {
/* Funcionalidad para renderizar un bloque de colección de productos */
console.log("collections", collections);
}, error => {
/* Lógica de gestión de errores si algo va mal */
});
| Nombre | Tipo | Descripción |
|---|---|---|
| collectionId | String | ID de la colección de productos, disponible en la sección del dashboard de Product Collections. |
| successCallback | Function | Función callback que recibe el objeto de respuesta de la API. Este campo es obligatorio. |
| errorCallback | Function | Función callback que se ejecuta si se produce un error. Este campo es opcional. |
products contiene lo siguiente:
| Parámetro | Tipo | Descripción |
|---|---|---|
| name | String | Nombre del producto |
| url | String (URL) | URL de la página del producto |
| description | String | Descripción del producto |
| category_ids | Array of Strings | Lista de IDs de categorías a las que pertenece el producto |
| brand | String | Marca del producto |
| fashion_feature | String | Característica fashion (por ejemplo, "adult") |
| fashion_gender | String | Género al que se destina el producto |
| sales_rate | Integer | Tasa de ventas del producto |
| relative_sales_rate | Float | Tasa de ventas relativa a otros productos |
| picture | String (URL) | URL de la imagen principal del producto |
| categories | Array of Objects | Lista de objetos de categoría (estructura definida por el sistema) |
| price_formatted | String | Precio formateado del producto (por ejemplo, $29.99) |
| price_full_formatted | String | Precio completo/original formateado |
| price | Float | Precio actual del producto |
| price_full | Float | Precio original/completo antes de descuentos |
| image_url | String (URL) | URL de la imagen redimensionada del producto |
| image_url_handle | String (URL) | URL procesada de la imagen (basada en handle) |
| image_url_resized | String (URL) | URL redimensionada de la imagen |
| url_handle | String | URL handle utilizada para acceder al producto dentro de la colección |
| currency | String | Código de moneda utilizado para el precio del producto (por ejemplo, USD, EUR) |
| id | String | ID del producto (numérico o string según el sistema) |
| html | String (HTML) | La plantilla HTML seleccionada al crear la colección |