FAQ
¿Tienes problemas con tu integración de Magento 1? Este FAQ cubre los problemas más comunes y sus soluciones, desde la conversión de divisas hasta errores de sincronización.
Conversión de divisas #
Desde la versión v3.0.3 de la extensión de Magento 1, la conversión de divisas está incluida por defecto, si usas la función estándar de conversión de Magento 1.
Se añade en my.clerk.io -> Designs, con el formateador price_in_currency.
El helper puede añadirse a tu Design de la siguiente manera:
{%raw%}
<div class="clerk-product-price">
{{ product.price_final_excl_tax | price_in_currency }}
</div>{%endraw%}
El helper convertirá automáticamente el precio a la moneda de la sesión actual y añadirá el símbolo de la moneda.
Ejemplo de resultado:

Uso de formatters #
Clerk.js te permite escribir funciones JavaScript personalizadas que añaden nueva funcionalidad a tus Designs.
Los formatters pueden añadirse de dos formas:
A través de my.clerk.io > Developers > Formatters, donde cada Formatter puede crearse como una entrada separada.
Como una configuración para Clerk.js, en el tracking-script que se inserta en todas las páginas, donde se pueden añadir varios formatters a la vez.
Para Magento 1, este archivo contiene el tracking-script:
app->design->frontend->base->default->template->clerk->tracking.phtml
Ejemplo de formatter #
Un ejemplo puede verse a continuación. Ten en cuenta que esto es para Clerk V2 (última versión):
Clerk('config', {
key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
formatters: {
form_key: function () {
return '<?php echo $this->getFormKey(); ?>';
},
price_in_currency: function(price) {
price = Math.round(price * 100) / 100;
var price_converted = Math.round((price * <?php echo (float)$rates[$currentCurrencyCode]; ?>) * 100) / 100;
var retVal = <?php echo json_encode($currentCurrencySymbol); ?> + ' ' + price_converted.toFixed(2).toString();
return retVal;
},
log_price: function(price) {
console.log(price);
}
}
});
Varios formatters #
Puedes escribir cualquier cantidad de Formatters, separados por comas:
formatters: {
log_price: function(price) {
console.log(price);
},
calculate_discount: function(price, special_price) {
return price - special_price;
},
substring: function(text) {
var short_string = text.substring(0, 20);
return short_string;
}
}
Uso en designs #
Después de crear tus Formatters, puedes usarlos en tus Designs usando esta sintaxis:
{%raw%}{{ x formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}
Esto te permite crear cualquier funcionalidad en tus Designs que requieras.
Autenticación HTTP #
La autenticación HTTP se usa a menudo en sitios de staging para evitar visitantes no deseados.
Esto bloqueará el Clerk Importer y mostrará un error 401 Unauthorized en el log de sincronización.
Puedes solucionar esto insertando la información de autenticación en la URL de importación.
En my.clerk.io > Data > Configuration, actualiza tu URL de importación así:
http://USER:PASS@magento.clerk.io/clerk/api/store/1

Errores comunes de sincronización #
Nota: Recomendamos siempre actualizar la extensión a la última versión para obtener todas las características actualizadas de Clerk.
Al importar datos con la extensión de Magento 1, el servidor de tu tienda online es responsable de enviar los datos de productos, categorías y ventas a Clerk.
Sin embargo, en algunos casos, la configuración del servidor puede impedir que el Importer acceda, causando un error en Data Sync.
A continuación, una lista de los errores más comunes y cómo solucionarlos.
401 Unauthorized #
Este error ocurre si tu tienda online o entorno de desarrollo requiere autenticación HTTP para acceder.
Esto se resuelve insertando el Username y Password como parte de la URL de importación:
http://username:password@magento.clerk.io/clerk/api/store/1
403 Forbidden #
Este error ocurre si tu servidor bloquea el acceso del importer.
En la mayoría de los casos, simplemente necesitas permitir la dirección IP del importer para darle acceso.
La última dirección IP puede encontrarse aquí.
Verifica también que tu public key, private key y import URL sean correctos para la tienda con la que trabajas en my.clerk.io.
¿Qué pasa si ya he permitido la IP y el mismo error sigue ocurriendo?
Hay algunos casos en que has permitido la IP del importer y el error sigue.
En estos casos, te recomendamos revisar estos aspectos:
La parte de autenticación del body puede haber sido eliminada de la solicitud por el servidor de la tienda.
Límite de peticiones para el servidor en relación a Cloudflare.
404 Not Found #
Este error ocurre si el importer no pudo acceder al enlace que envía datos desde la tienda online.
En la mayoría de los casos, ocurre porque la extensión está:
No instalada en absoluto
Un caché causa que el enlace no se inicialice
Primero, asegúrate de que has instalado correctamente la extensión.
Segundo, asegúrate de limpiar el caché de tu tienda antes de intentar una nueva importación.
429 Too Many Requests #
Este error ocurre si tu servidor niega el acceso al importer por demasiadas solicitudes entrantes.
Puedes solucionarlo configurando un límite de solicitudes más alto para tu servidor o ajustando el Page Size a un valor más alto en my.clerk.io > Data > Configuration, provocando que el importer haga menos solicitudes pero de mayor tamaño:

Si usas el host Byte.nl, el importer suele devolver este error por su rate limiter. En este caso, contacta a Byte.nl y pídeles que permitan el User-Agent del importer “clerk”.
500 Internal Server Error #
Este error significa que tu servidor encontró un error interno y no pudo especificar qué error ocurrió.
En estos casos, revisa tu Server Log para identificar qué proceso falló y por qué.
En la mayoría de los casos, simplemente es porque hay un producto con un atributo inválido, o alguna función llamada incorrectamente en la tienda online.
503 Service Unavailable #
Este error normalmente es temporal y se debe a que el servidor está demasiado ocupado para procesar la solicitud.
Intenta de nuevo un poco más tarde.
Si el problema persiste, puede significar que el servidor está sobrecargado de procesos y cerca de su máxima capacidad.
Revisa la carga del servidor para identificar si es este el caso.
Magento API error #
Este error también significa que tu servidor encontró un error interno y no pudo especificar qué error o código de error ocurrió.
En estos casos, revisa tu Server Log para identificar qué proceso falló y por qué.
En la mayoría de los casos, simplemente es porque hay un producto con un atributo inválido, o se superó el límite de memoria disponible.
Powerstep no se muestra #
Si el paso de Añadir a la cesta no está activado, normalmente se debe a dos motivos:
Tienes otro popup o función de añadir a la cesta habilitado que bloquea la función de Clerk.
Se han insertado IDs de elementos incorrectos en la extensión.
Otro popup habilitado #
Comienza comprobando tu instalación de Magento para ver si ya tienes un popup o desplegable que se muestra al añadir un producto a la cesta.
Normalmente, estos pueden evitar que Clerk muestre el paso de añadir a la cesta.
Si es tu caso, desactívalo e inténtalo de nuevo.
IDs de elementos incorrectos #
Si no tienes otro popup de añadir a la cesta y tu powerstep está activado pero no se muestra, probablemente es porque se han introducido IDs de template incorrectos en la configuración de la extensión de Clerk.
Esto hará que el Powerstep no funcione.
Para solucionarlo, comienza entrando en tu administrador de Magento y ve a System > Configuration > Clerk > Settings.

Luego, selecciona el Configuration Scope correcto que corresponde a tu tienda.

En Power step settings, revisa el campo Templates.
Este campo debe contener los IDs correctos separados por comas, si usas más de uno.

Para asegurarte de que tus IDs sean correctos, inicia sesión en my.clerk.io.
Selecciona la Store adecuada y ve a Recommendations/Search > Elements.
Haz clic en Edit Element para un slider que quieras mostrar en el powerstep.

Revisa la última pestaña “Insert into website” y localiza el código de inserción.
El ID que aparece en data-template es el que necesitas copiar en la extensión de Magento:

Haz clic en Save Config en la extensión de Magento y el Powerstep debería funcionar después.
Problemas de caché #
Si has activado el popup powerstep y aún no aparece al añadir un producto a la cesta, el problema suele deberse al Cache.
Ve a System > Cache y borra todas las caches internas y de terceros.
Si esto no lo soluciona, probablemente estás usando Full Page cache, que solo afecta a las páginas que un visitante ya ha visto en su sesión. Desactivarlo tendrá un impacto mínimo en la velocidad de la página.
La captura de pantalla a continuación muestra exactamente cuál desactivar:

Una vez hayas desactivado el Full Page Cache, el popup de Clerk debería aparecer.
Si no es así, contacta a Clerk Support desde el icono de live-chat en la esquina inferior derecha y te ayudaremos a encontrar una solución para tu configuración específica.
Sliders de la página principal en caché #
Normalmente esto solo ocurre si los códigos de inserción se agregan a través de las CMS Pages en el backend de Magento, ya que la página principal está en caché:

En su lugar, tus códigos de inserción deben agregarse directamente a los archivos de la portada a través de FTP:

Magento no cachéa los resultados cuando se insertan de esta manera.
Las imágenes no se muestran #
Cuando el cache de imágenes de Magento se borra, de forma manual o automática, todas las rutas de las imágenes cambian.
Esto significa que las rutas de imagen enviadas a Clerk dejan de funcionar.
Esto puede solucionarse fácilmente haciendo lo siguiente:
Inicia sesión en my.clerk.io.
Haz clic en la Store donde faltan imágenes.
Ve a Data.
Haz clic en Start New Data Sync en la esquina superior derecha.

Esto iniciará una nueva sincronización completa de tus productos, lo que hará que Clerk obtenga las rutas correctas de las imágenes.
En la extensión de Magento de Clerk v2.1.0, este problema se corrige iniciando automáticamente una sincronización cuando se borra el cache de imágenes.
Si estás usando una versión antigua de la extensión, te recomendamos encarecidamente actualizar a la última versión.
Actualizar a Clerk.js 2 #
Clerk.js 2 es una versión más rápida y flexible de nuestra biblioteca JavaScript.
Facilita la instalación de Clerk en cualquier tienda online.
Sin embargo, ya que ambas versiones funcionan de manera diferente, debes seguir estos pasos para actualizar correctamente.
Las dos diferencias principales en Clerk.js 2 son que los Designs en my.clerk.io utilizan el lenguaje de plantillas Liquid, pero también pueden crearse fácilmente usando el Editor de Designs.
Crear designs #
Dado que Clerk.js 2 tiene un enfoque diferente respecto a los Designs, deberás crear nuevos.
Puedes crear tus Designs para Clerk.js 2 de dos maneras:
Usa el intuitivo Design Editor para crear nuevos Designs, como se describe en los siguientes puntos.
Convierte tus antiguos Designs. Sigue esta guía para ver cómo hacerlo.
Opción de Design Editor #
- Ve a my.clerk.io > Recommendations/Search > Designs > New Design.

- Elige tu tipo de Design.

En el Design Editor, haz clic en cualquiera de los elementos existentes como el nombre, imagen, botón, etc. para editarlo, o selecciona nuevos elementos para añadir al Design y agregar más información sobre los productos.
Haz clic en Publish cuando hayas terminado y pasa al Paso 2 de la guía.

Ve a Recommendations/Search > Elements y cambia tu Clerk Element para usar tu nuevo Design.
Haz clic en Update Element. Esto hará que, temporalmente, no aparezcan en tu tienda online hasta que finalices el Paso 2. Elige el nuevo Design para todos los Elements que deban actualizarse.

Ahora estás listo para pasarte a Clerk.js 2.
Actualizar la extensión #
Si ya tienes la última versión de la extensión de Clerk para Magento, puedes saltarte este paso.
Puedes descargar la última extensión desde este enlace:
https://github.com/clerkio/clerk-magento/releases/latest

Guarda los cambios #
Antes de intentar actualizar, asegúrate de haber:
- Guardado los archivos modificados localmente en tu FTP, o
- Hecho una copia de seguridad de cualquier archivo modificado que puedas transferir a la nueva extensión.
Normalmente, los archivos que la mayoría de los desarrolladores modifican son Product.php y Productbase.php, que controlan los atributos de producto.
Estos archivos se encuentran aquí:
app->code->community->Clerk->Clerk->Model->Catalog->Product.php
app->code->community->Clerk->Clerk->Model->Catalog->Productbase.php
Desactiva la extensión #
Antes de intentar actualizar, es muy importante que hagas lo siguiente:
- Desactiva la antigua extensión en la página de System > Configuration > Clerk > Settings de Magento. Simplemente configura Enable a No y haz clic en Save Config.

- Después, desinstálala, ya sea mediante Magento Connect o eliminando los archivos por FTP si la instalaste directamente allí.

De lo contrario, la página de Configuration podría dejar de funcionar y ninguna de las extensiones funcionaría después.
Instala la extensión #
Por último, instala de nuevo la última extensión y sube cualquier archivo que hayas respaldado a tu servidor FTP.
Tu configuración debería mantenerse, incluso al instalar la nueva versión.
Revisa System > Configuration > Clerk para asegurarte de que todo sigue igual.
¡Ahora tienes la última versión de Clerk para Magento instalada y Clerk.js 2 funcionando en tu tienda online!
La documentación completa para Clerk.js 2 está disponible aquí:
https://docs.clerk.io/docs/clerkjs-quick-start
Manejo de require.js #
Esto solo aplica cuando se usa v.3.7.2 o inferior de la extensión Clerk de Magento 1.
En algunas configuraciones, Require.js impide que Clerk.js cargue, lo que significa que no se mostrarán sliders ni resultados de búsqueda.
Cuando esto ocurre, aparecerá el siguiente error en tu consola:
Uncaught ReferenceError: Clerk is not defined
Hay dos formas de manejar Require.js. Ambas requieren que realices cambios en el tracking-script en este archivo:
app->design->frontend->base->default->template->clerk->tracking.phtml
Incluir en Require.js #
El mejor método es tratar de hacer que Require.js reconozca a Clerk.
Puedes hacerlo insertando require(['clerk'], function() {}); en la parte inferior del tracking script:

Ignorar Require.js #
Si la solución anterior no funciona, es posible ignorar Require.js.
Puedes hacerlo insertando window.__clerk_ignore_requirejs = true; en la parte superior del tracking script:

Después de usar uno de estos métodos, Require.js será ahora compatible con Clerk.
Esta página ha sido traducida por una IA útil, por lo que puede contener errores de idioma. Muchas gracias por su comprensión.