Está en la página 1de 10

Notas para la implementación de soluciones Retail Rocket y

CASA IDEAS, 2021


Página con Códigos:
https://manual.retailrocket.net/tracking/on_site_integration/Tracking_js_Groups/eng.html?partne
rid=5e78f87597a5283db0dc4ad0
Programador Responsable:

Código 1 (Main Tracking Code)


Solo copiar y pegar el código en el <head> de cada página. (Este es el código final, no para el
servidor de desarrollo)

<script type="text/javascript">
var rrPartnerId = "5e78f87597a5283db0dc4ad0";
var rrApi = {};
var rrApiOnReady = rrApiOnReady || [];
rrApi.addToBasket = rrApi.order = rrApi.categoryView = rrApi.view =
rrApi.recomMouseDown = rrApi.recomAddToCart = function() {};
(function(d) {
var ref = d.getElementsByTagName('script')[0];
var apiJs, apiJsId = 'rrApi-jssdk';
if (d.getElementById(apiJsId)) return;
apiJs = d.createElement('script');
apiJs.id = apiJsId;
apiJs.async = true;
apiJs.src =
"//cdn.retailrocket.net/content/javascript/tracking.js";
ref.parentNode.insertBefore(apiJs, ref);
}(document));
</script>

1
Código 2 (Product Page Tracker)
1. Comentarios sobre parámetros
a. <ProductId>: Código único del producto (SKU).
b. <Name>: Nombre del producto. Formato de string (Obligatorio)
c. <Price>: se refiere al precio final del producto (el que el cliente pagará). Debe ir en formato de
número. (Obligatorio)
d. <Picture URL>: La URL donde se puede acceder a la imagen. (Obligatorio)
e. <URL>: La dirección de la página de producto. (Obligatorio)
f. <isAvailable>: Disponibilidad de producto. Si producto se encuentra sin stock, se debe marcar
como no disponible. Valores deben ser ‘true’ o ‘false’ (Obligatorio).
g. <CategoryPaths>: Ver punto 2. (Obligatorio)
h. <Description>: Descripción breve de producto. Usar valor de <Name> para evitar complicaciones
(Obligatorio)
i. <Vendor>: Nombre de marca del producto. (Opcional)

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
retailrocket.productsGroup.post({
"groupId": <group ID>,
"name":"<string>",
"price":<decimal>,
"pictureUrl":"<string>",
"url":"<string>",
"isAvailable":<bool>,
"categoryPaths":["Example/Category/Path","Another/Category"],
"description":"<string>",
"products":{
“<productId>”:{
"isAvailable":<bool>,
"price":<decimal>,
"oldPrice":<decimal>,
"params":{
"size":"<string>",
"availableQnt": <number>,
}},
“<productId>”:{
"isAvailable":<bool>,
"price":<decimal>,
"oldPrice":<decimal>,
"params":{
"size":"<string>",
"availableQnt": <number>,
}
}},
"params":{
"colour":"<hex color value>",
"availableSizes":"<conjunto de tamaños disponibles>",
"availableIds": "<conjunto de IDs individuales disponibles>",
"anotherAvailableColourIds": "<conjunto de otros IDs individuales de
colores alternativos>"
}

});
rrApi.groupView([<product IDs>]);
});
</script>

2
Ejemplo de código 2 para el producto https://www.casaideas.cl/roller-blackout-color-crudo/p

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
retailrocket.productsGroup.post({
"groupId":100,
"name":"ROLLER BLACKOUT COLOR CRUDO",
"price":11990, // the minimum price
"pictureUrl":"https://www.casaideas.cl/arquivos/ids/185142-1000-1000/3212159000
054_1.jpg?v=637152468130470000",
"url":"https://www.casaideas.cl/roller-blackout-color-crudo/p",
"isAvailable":true,
"categoryPaths":[
"example/path"
],
"description":"ROLLER BLACKOUT COLOR CRUDO",
"products":{
"101":{
"isAvailable":true,
"price":18990,
"oldPrice":18990,
"params":{
"size":"150x120",
"availableQnt": 5
}},
"102":{
"isAvailable":false,
"price":15990,
"oldPrice":15990,
"params":{
"size":"120x180"
}},
"103":{
"isAvailable":true,
"price":11990,
"oldPrice":11990,
"params":{
"size":"90x180",
"availableQnt": 1
}},
"params":{
"colour":"e0d9bc",
"availableSizes":"150x120,90x180",
"availableIds": "101,103",
"anotherAvailableColourIds": "201,203"
}}

});

rrApi.groupView([101,102,103]);
});
</script>

3
2. CategoryPaths
a. Las categorías deben seguir un formato específico como se puede observar en la siguiente
imagen:

(ver imagen en tamaño completo)

3. Parámetros Adicionales:
En la sección params de nuestro código 2 de producto, necesitamos que nos pasen la siguiente
información como parámetros adicionales. Esto es para poder replicar al 100% sus carruseles. Los
parámetros necesarios son (Se debe definir primero diseño de las vitrinas):

a. Colores

b. Colores Disponibles
c. Tamaños Disponibles
d. Función JS para añadir al Carrito
e. Función JS para añadir al Whishlist
f. Stock de productos

4
Código 3 (Category Page Tracker)
Solo debe ser copiado en las páginas de categoría que pueden ser accedidos a través del menú principal del sitio,
siguiendo el mismo formato que se usa en el parámetro <Category Paths> en los valores añadidos (link a sección de
CategoryPaths).

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function()
{
// Full path to current category with slash as a separator, string.
It must match the path transmitted in product pages in this category.
rrApi.categoryView("Women/Clothes/Skirts");
});
</script>

No se debe incluir el código 3 en las categorías que contengan productos de diferentes categorías. Más
específicamente, no debe ser incluido en:
● Productos

Código 4 (Add to cart tracker)


Copiar y pegar en todos los botones que sea de añadir al carrito.

El código a copiar es:

onmousedown="try { rrApi.addToBasket(<product_id>) } catch(e) {}"

Donde product_id es el código de identificación único (SKU hijo) del producto añadido.

Código 5 (Transaction tracker)


Instalar en la página de compra exitosa, cuando un usuario vuelve de la página del método de pago.
El código a copiar es:

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
try {
rrApi.order({
"transaction": "<transaction_id>",
"items": [
{ "id": <product_id>, "qnt": <quantity>, "price": <price>},
{ "id": <product_id>, "qnt": <quantity>, "price": <price> }
]
});
} catch(e) {}
})
</script>

Donde
transaction_iD: ID de orden.
product_id: SKU del producto que fue comprado, usar parámetro <product ID>.
quantity: la cantidad del mismo producto que es llevado

5
price: El precio unitario del producto que el usuario llevó. Usar parámetro <Price> y no <Old Price>.

Código 6 (Email tracking code)


Debe instalarse en todos los botones de “Submit” de formularios que capturen correos, siendo el más importante, el
formulario de compra. Pudimos observar en su sitio que existen los siguientes botones:
- Antes del Checkout:

- Ingreso a cuenta:

- Suscripción al Newsletter

- Al momento de enviar el correo de compra exitosa (pantallazo no disponible)

6
El código a copiar es:

(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {


rrApi.setEmail("<user_email>"); });

Recordar que también pueden pasarnos otros parámetros en este código, como el nombre del usuario.

Código 7 (Búsqueda)
En el template de la página de búsqueda debe instalarse el siguiente código para que Retail
Rocket registre las frases de búsqueda realizadas por los usuarios:

rrApiOnReady.push(
function() {
try {
rrApi.search("search_phrase");
}
catch(e) {}
}
);
</script>​

Donde search_phrase es la frase de búsqueda agregada por el usuario en el buscador del sitio.

7
Función PUSH para mantener productos actualizados

$data_string = '{
"groupId": 67998,
"name": "product name",
"description": "product description",
"price": 790,
"pictureUrl": "product picture URL",
"url": "product URL",
"isAvailable": false,
"categoryPaths": [
"CATEGORY/PATH"
],
"products": {
"679981": {
"isAvailable": true
},
"679982": {
"isAvailable": false
}
}
}';

$ch =
curl_init('https://cdn.retailrocket.net/api/1.0/partner/5e78f87597a5283db0dc4ad0/productsgrou
p/<PRODUCT_GROUP_ID>);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);

curl_exec($ch);
$result = curl_getinfo($ch);
print_r($result);

8
ANEXO 1: Preguntas a responder de diseño de vitrinas
1. Quieren añadir la opción de compra rápida?
2. Quieren copiar este diseño?

3. Si hay más de 4 colores disponibles, se debe añadir un + en círculo?

9
Anexo 2: Preguntas de Equipo de Integración Inicial (Retail
Rocket)

Developer email:

Copy to:

Products to launch: Online/Email

Number of SKU's:

Number of product pages (including products out of stock):

Out of stock product's link:

Is multiregions support required: No

XML link (if applicable): No

How many times a day products prices are changing:

How many times a day products availability is changing:

CMS:

Group Products: No

Additional parameters required in product page tracker:

------------

10

También podría gustarte