Bienvenidos a la plataforma de Soporte técnico y Atención al Cliente

Integrar el seguimiento de ventas Kelkoo para PrestaShop

Información para aquellas tiendas que usen la plataforma de comercio electrónico PrestaShop.
¡Atención! Antes de hacer cualquier cambio, por favor haz una copia de seguridad de los archivos que vayas a modificar.
Además, asegúrate que en el panel de control Parámetros Avanzados -> Rendimiento, la opción “Compile files of template if updated” está clocada.


 

Paso 1: implementa el código

Dirígete al directorio /controllers/front/ y abre el documento OrderConfirmationController.php.

Busca el siguiente texto

public function initContent()
{

y añade el código en negrita:

    /* Kelkoo Sales Tracking */
    $order = new Order($this->id_order);
    $products = $order->getProducts();
    $productsKelkoo=array();
    foreach ($products as $product) {
        $productKelkoo=array('productname'=>$product['product_name'],
                             'productid'=>$product['product_reference'],
                             'svn1'=>$product['product_quantity'],
                             'svn2'=>$product['unit_price_tax_incl']);
        array_push($productsKelkoo,$productKelkoo);
    }
    $this->context->smarty->assign(array(
        'is_guest' => $this->context->customer->is_guest,          
        'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation(),        
        'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn(),
        'products_json' => json_encode($productsKelkoo),
        'sales' => $order->getOrdersTotalPaid(),
        'orderid' => $this->id_order
    ));
    /* end Kelkoo Sales Tracking*/

Dirígete al directorio /themes/xxxx/ (xxxx es el nombre del tema que has elegido, el de default es “prestashop”), abre el archivo order-confirmation.tpl y añade el Kelkoo Sales Tracking al final:

<script type="text/javascript">
    var _kkstrack = {
      merchantInfo: [{ country:"COUNTRY", merchantId:"COM_ID" }],
      orderValue: '{$sales}',
      orderId: '{$orderid}',
      basket: {$products_json}
    };
    (function() {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = 'https://s.kk-resources.com/ks.js';
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    })();
 </script>

En concreto, el seguimiento de ventas de Kelkoo (Kelkoo Sales Tracking) necesita de las siguientes informaciones del pedido:

    • VALORES EN VERDE son valores fijadas (estáticas) que poner en el código;
      • COM_ID: Es un ID único que identifica tu tienda en el sistema de Kelkoo. Ten en cuenta que puedes conectarte a tu cuenta de la Extranet y directamente usar el JS tag generator que actualizará automáticamente el código dentro de [COMID]. Solo necesitas copiar y pegar el código generado.
      • COUNTRY (sv1) el código del País, es para España, solo 2 letras:’at’ para Austria, ‘be’ para Bélgica, ‘br’ para Brasil, ‘ch’ para Suiza, ‘cz’ for República Checa, ‘de’ para Alemania, ‘dk’ para Dinamarca, ‘es’ para España, ‘fi’ para Finlandia, ‘fr’ para Francia, ‘ie’ para Irlanda, ‘it’ para Italia, ‘nl’ para Países Bajos, ‘no’ par Noruega, ‘pl’ para Polanda, ‘pt’ para Portugal, ‘ru’ para Russia, ‘se’ para Suecia, ‘uk’ para Reino Unido.
    • VALORES EN AZUL son los valores dinámicos obligatorios. No pueden ser copiados y pegados tal cual porque dentro las tienes que poner el código necesario para recoger los datos del pedido concluido y eso depende del lenguaje de programación y de la estructura de tu sitio. Contacta con tus programadores, ellos sabrán implementarlo.
      • {$sales}: el valor numérico que representa el total del pedido ( con el punto como separador decimal)
      • {$orderid}: el código alfanumérico que identifica el número del pedido
    • VALORES AZUL CLARO son son los valores dinámicos recomendados que puedes poner en tu tag para más detalles.
      • product_name: el nombre del producto/li>
      • product_reference : el número que identifica el producto
      • product_quantity : el número que indica la cantidad de productos pedido
      • unit_price_tax_incl : el valor numérico (con el punto como separador decimal) que representa el precio del producto

Si se implementa el código correctamente, estos datos llegarán a nuestros servidores y serán mostrados en tu página de estadísticas.

Si gestionas los pagos a través de Paypal, entonces debes modificar dos archives más: submit.php y order-confirmation.tpl .

Atención: antes de hacer cualquier cambio, por favor haz una copia de seguridad de los archivos que vayas a modificar.

El primer file submit.php se encuentra en /modules/paypal/controllers/front/.
Añade el código en negrita después de la variable $order dentro de la tipología PayPalSubmitModuleFrontController (en la línea 46):

$order = new Order($this->id_order);

y añade esto:

    /* Kelkoo Sales Tracking */
    $order = new Order($this->id_order);
    $products = $order->getProducts();
    $productsKelkoo=array();
    foreach ($products as $product) {
        $productKelkoo=array('productname'=>$product['product_name'],
                             'productid'=>$product['product_reference'],
                             'svn1'=>$product['product_quantity'],
                             'svn2'=>$product['unit_price_tax_incl']);
        array_push($productsKelkoo,$productKelkoo);
    }
    $this->context->smarty->assign(array(
        'is_guest' => $this->context->customer->is_guest,          
        'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation(),        
        'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn(),
        'products_json' => json_encode($productsKelkoo),
        'sales' => $order->getOrdersTotalPaid(),
        'orderid' => $this->id_order
    ));
    /* end Kelkoo Sales Tracking*/

El segundo archivo order-confirmation.tpl se encuentra en /modules/paypal/views/templates/front/.

Añade el Kelkoo Sales Tracking al final:

<script type="text/javascript">
    var _kkstrack = {
      merchantInfo: [{ country:"COUNTRY", merchantId:"COM_ID" }],
      orderValue: '{$sales}',
      orderId: '{$orderid}',
      basket: {$products_json}
    };
    (function() {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = 'https://s.kk-resources.com/ks.js';
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    })();
 </script>

En concreto, el seguimiento de ventas de Kelkoo (Kelkoo Sales Tracking) necesita de las siguientes informaciones del pedido:

    • VALORES EN VERDE son valores fijadas (estáticas) que poner en el código;
      • COM_ID: Es un ID único que identifica tu tienda en el sistema de Kelkoo. Ten en cuenta que puedes conectarte a tu cuenta de la Extranet y directamente usar el JS tag generator que actualizará automáticamente el código dentro de [COMID]. Solo necesitas copiar y pegar el código generado.
      • COUNTRY (sv1) el código del País, es para España, solo 2 letras:’at’ para Austria, ‘be’ para Bélgica, ‘br’ para Brasil, ‘ch’ para Suiza, ‘cz’ for República Checa, ‘de’ para Alemania, ‘dk’ para Dinamarca, ‘es’ para España, ‘fi’ para Finlandia, ‘fr’ para Francia, ‘ie’ para Irlanda, ‘it’ para Italia, ‘nl’ para Países Bajos, ‘no’ par Noruega, ‘pl’ para Polanda, ‘pt’ para Portugal, ‘ru’ para Russia, ‘se’ para Suecia, ‘uk’ para Reino Unido.
    • VALORES EN AZUL son los valores dinámicos obligatorios. No pueden ser copiados y pegados tal cual porque dentro las tienes que poner el código necesario para recoger los datos del pedido concluido y eso depende del lenguaje de programación y de la estructura de tu sitio. Contacta con tus programadores, ellos sabrán implementarlo.
      • {$sales}: el valor numérico que representa el total del pedido ( con el punto como separador decimal)
      • {$orderid}: el código alfanumérico que identifica el número del pedido
    • VALORES AZUL CLARO son son los valores dinámicos recomendados que puedes poner en tu tag para más detalles.
      • product_name: el nombre del producto/li>
      • product_reference : el número que identifica el producto
      • product_quantity : el número que indica la cantidad de productos pedido
      • unit_price_tax_incl : el valor numérico (con el punto como separador decimal) que representa el precio del producto

Si se implementa el código correctamente, estos datos llegarán a nuestros servidores y serán mostrados en tu página de estadísticas.


Paso 2: vacía el caché (versión prestashop 1.6.x y más antiguas)

  1. Ve al panel de control
  2. Haz click en Paramétros Avanzados -> Rendimiento
  3. Vacía el caché

Paso 3: revisa la implementación

Para revisar la implementación, haz un pedido de prueba en tu sitio web.

  • Entra en tu cuenta de la Kelkoo Merchant Extranet y clica sobre el enlace “Ver tu página en Kelkoo” en la Home
  • Pincha sobre una de tus ofertas para ser redirigido a tu sitio web
  • Haz tu pedido
  • Guarda el código fuente de tu página de confirmación (ver -> código fuente), en el caso de que fuera necesario verificar el código.
  • Al día siguiente entra en tu cuenta de la Kelkoo Merchant Extranet
  • Chequea que en la página de las estadísticas aparezca un pedido.
  • Chequea que los detalles del pedido sean correctos

¡Punto a recordar! Comprueba con regularidad que las ventas se registren. Este control es muy importante sobre todo después de haber realizado cambios o modificaciones en tu sitio.

Si tienes problemas, por favor, ponte en contacto con nuestro servicio de soporte técnico. Si el orden de prueba no estaba debidamente registrado en tu página de estadísticas en el correo electrónico que vas a enviar incluye por favor la fuente de la página de confirmación del pedido así cómo aparece (“Ver código fuente” en el menú contextual del navegador). El código del Kelkoo Sales Tracking está incluido normalmente y es visible.