Solucionar problemas con la integración de Magento 2
Qué aprenderás
Aprende a resolver problemas con la configuración de OAuth de Magento 2 siguiendo los pasos de solución de problemas que se describen a continuación. Si, después de seguir estos pasos, sigues teniendo problemas, ponte en contacto con nuestra Community o con nuestro equipo de asistencia.
Antes de empezar
Si aún no lo has hecho, lee nuestra guía sobre Primeros pasos con Magento 2 para obtener instrucciones paso a paso para configurar tu integración de Magento 2.
Klaviyo utiliza el protocolo OAuth para generar un token de acceso y recuperar datos de tu tienda Magento 2. Si has personalizado tu instalación de Magento 2, puede hacer que el procedimiento OAuth de Klaviyo falle. Este artículo te guiará a través de una serie de pasos de solución de problemas para identificar dónde se está produciendo el fallo.
Pasos generales para la resolución de problemas
Asegúrate de que tu sitio sea accesible públicamente y cuente con un certificado SSL válido
El procedimiento OAuth de Klaviyo requiere que tu sitio web sea accesible públicamente; de lo contrario, las llamadas a la API necesarias para generar los tokens de acceso fallarán.
- Asegúrate de no haber protegido tu tienda con contraseña ni restringido el acceso por IP.
- Asegúrate de que tu tienda sea accesible a través de HTTPS con un certificado SSL válido. Puedes probar tu certificado aquí.
Asegúrate de que tu firewall no esté bloqueando las solicitudes de Klaviyo
Todo el tráfico saliente de integraciones de Klaviyo está detrás de un conjunto de direcciones IP estáticas, predecibles, para que tengas un alto nivel de confianza en que este tráfico proviene de Klaviyo. Lee nuestro artículo para saber cómo añadir las direcciones de IP de tráfico de integraciones de Klaviyo a la lista de permitidos.
Comprueba las versiones de tu extensión de Magento 2 y Klaviyo
- Si utilizas Magento v2.2.0, tendrás que habilitar OAuth manualmente.
- Asegúrate de haber instalado la extensión correcta de Klaviyo (puede que tengas que actualizar).
Asegúrate de que los puntos de conexión de OAuth sean accesibles
Es posible que tengas reglas de reescritura adicionales o ausentes, lo que puede hacer que los puntos de conexión OAuth predeterminados de Magento 2 sean inaccesibles. Klaviyo necesita acceder a estos puntos de conexión para generar las credenciales necesarias para el proceso de autorización.
Asegúrate de que las siguientes URL sean accesibles para tu tienda:
https://[Store URL]/oauth/token/request https://[Store URL]/oauth/token/access - Puedes validar que son accesibles realizando una solicitud POST como esta:
curl --location --url 'https://[Store URL]/oauth/token/request' --request 'POST' -v curl --location --url 'https://[Store URL]/oauth/token/access' --request 'POST' -v - Deberías esperar una respuesta similar a la siguiente. Es normal ver un error al realizar una solicitud de este modo, y valida que los puntos de conexión están respondiendo correctamente.
- Si no recibes una respuesta relacionada con OAuth, deberías comprobar que no haya redirecciones, reglas de reescritura no válidas o errores internos del servidor que impidan el acceso a estas URL.
Esto puede deberse a una subruta de tienda en tu URL. Comprueba si hay un problema con una subruta de tienda accediendo a los puntos de conexión en:
https://[Store URL]/[Store Path]/oauth/token/request https://[Store URL]/[Store Path]/oauth/token/access Si estos puntos de conexión se resuelven, incluye las siguientes reglas de reescritura en tu .htaccess archivo para resolver el problema.
RewriteEngine on
RewriteRule /oauth/token/request$ https://%{HTTP_HOST}/[Store Path]/oauth/token/request [L,R=301]
RewriteRule /oauth/token/access$ https://%{HTTP_HOST}/[Store Path]/oauth/token/access [L,R=301] Elimina la integración y vuelve a crearla
Si has hecho cambios después de un intento de integración fallido anterior, es una buena idea eliminar la integración de OAuth original. Es posible que las claves utilizadas no sean válidas y deban regenerarse.
- En Magento, ve a Sistemas
- Select integraciones
- Busca el registro de integración de Klaviyo y elimínalo
Una vez que se haya eliminado el registro de integraciones, sigue los pasos de nuestra guía cómo integrar con Magento 2 para crear un nuevo registro de integraciones e inténtalo de nuevo.
Problemas específicos de la versión de Magento
Fallo específico de Magento 2.4.2
Si utilizas Magento 2.4.2, hay un problema conocido por el que fallan las activaciones de OAuth. Al activar la integración, es posible que veas un mensaje de error como el que se muestra a continuación. Aunque no recibas el error, es posible que la activación de OAuth haya fallado. Normalmente, el error se puede encontrar en los registros de Magento.
Para resolver este error, tendrás que:
- Actualiza a Magento 2.4.3. Consulta la documentación de Magento 2 para actualizar tu versión.
- Aplica un parche como se describe en el repositorio de github de Klaviyo para Magento 2.
Fallo de autenticación específico de Magento 2.4.6
¿Usas Magento 2.4.6 y tienes un error de autenticación 401 después de integrar con Klaviyo? Esto podría deberse a un error conocido de Magento que afecta a la versión 2.4.6 de Magento. Para solucionarlo, tendrás que habilitar la autenticación de token de portador para que Klaviyo pueda hacer solicitudes usándola (en lugar de OAuth 1.0). Para habilitar la autenticación de token de portador:
- En el panel de administración de Magento, ve a Tiendas > Configuración > Servicios > OAuth > Configuración del consumidor.
- Para la configuración Permitir que los tokens de acceso de OAuth se usen como tokens de portador independientes, selecciona Sí.
- Pulsa Guardar configuración.
Después de hacer esta actualización, tus errores de autenticación anteriores deberían resolverse y se reanudarán las sincronizaciones de integraciones.
Recursos adicionales
- Magento 2 data reference
Learn what data Klaviyo imports from your Magento 2 store when you integrate the two platforms. Klaviyo's integration with Magento 2 pulls in all of the historical data in your Magento 2 store with the initial historic sync. Once enabled the integration will also begin to sync order and customer data every 30 minutes. Examples of this data include the information associated with past placed orders, fulfilled orders, etc.
- Guide to supporting multiple Magento stores (for Magento 2.x)
If you have a single Magento 2 server that hosts more than one store, you have two options as you get setup with Klaviyo: