:::: MENU ::::

Importar suscriptores a la Newsletter en Magento

3.50 avg. rating (69% score) - 4 votes

Aunque no es lo más recomendable si queremos reutilizar el proceso, o si queremos proporcionar un método de actualización de los suscriptores de Magento mediante un archivo csv o similar, para un caso puntual de importación de suscriptores, el acceso directo a la base de datos, puede ser la opción más sencilla.

La lista de suscriptores a la newsletter de Magento se encuentran almacenados en la tabla mage_newsletter_subscriber de la base de datos de magento.

Dicha tabla tiene los siguientes campos:

  • subscriber_id. Un autoincremental que no tendremos que tener en cuenta en este caso.
  • store_id. El identificador de la tienda para la que queremos importar el suscriptor. Si tenemos varias tiendas y queremos suscribir al usuario a varias, tendremos que incluir tantos registros como tiendas necesitemos, cada una con su identificador.
  • change_status_at. Es la última fecha en la que el estado del suscriptor cambia. Tampoco será necesario en este caso.
  • customer_id. Identificador del cliente en Magento. Si estamos importando suscriptores cuyo email ya pertenezca a uno de nuestros clientes, necesitaremos incluir aquí el identificador del cliente. Si no, dicho cliente no podrá actualizar el estado de su suscripción desde la cuenta de usuario.
  • subscriber_email. Email del suscriptor.
  • subscriber_status. El estado de la suscripción. Normalmente deberemos incluir un «1» en este campo, si estamos importando suscriptores, pero abajo incluyo la relación de códigos posibles.
  • subscriber_confirm_code. Es el código que se envía cuando se solicita la confirmación del suscriptor. No lo utilizaremos en este caso.

En la clase Mage_Newsletter_Model_Subscriber encontramos los estados posibles del suscriptor. Normalmente utilizaremos un «1» si estamos importando suscriptores.

  • const STATUS_SUBSCRIBED = 1;
  • const STATUS_NOT_ACTIVE = 2;
  • const STATUS_UNSUBSCRIBED = 3;
  • const STATUS_UNCONFIRMED = 4;

Si lo creamos directamente a la base de datos, sólo necesitaremos la siguiente consulta para cada suscriptor:

INSERT INTO newsletter_subscriber (
'store_id', 'change_status_at', 'customer_id', 
'subscriber_email', 'subscriber_status', 'subscriber_confirm_code') 
VALUES (
1, 1, NULL, 
0, 'direccion-email@dominio.com', 1, '');



One Comment

  • Responder Antonio |

    Daniel, en la lista de suscriptores de mi tienda magento no me aparece la fecha en la que cada suscriptor hizo su suscripción. Podrías indicarme por qué ocurre esto y si es posible solucionarlo.

Hey! Qué opinas sobre el artículo?