Cómo ejecutar notificaciones por correo electrónico y SMS en Joomla usando la API / Sudo Null IT News

En el marketing digital, la comunicación con el cliente juega un papel clave en el éxito de un negocio. Si bien las notificaciones por correo electrónico siguen siendo una herramienta poderosa, los SMS son cada vez más importantes debido a su inmediatez y sus altas tasas de lectura. En este tutorial nos centraremos en integrar notificaciones por correo electrónico y SMS en Joomla usando Exolución de API y una serie de otros medios.

Para empezar, es importante construir la estrategia correcta:

1. Determinar los objetivos y segmentos de los mailings.

2. Elija la frecuencia óptima.

3. Adaptar el contenido a los intereses de la audiencia.

4. Pruebe titulares, llamadas y elementos visuales.

5. Medir continuamente el desempeño y mejorar.

El trabajo adecuado con el correo electrónico puede aportar a una empresa un aumento significativo de ventas y clientes. Por lo tanto, el propietario de casi cualquier sitio Joomla debería implementar este canal.

Revisión de las extensiones de Joomla para notificaciones por correo electrónico

El catálogo de extensiones de Joomla tiene muchos componentes para organizar campañas de correo electrónico. Veamos algunas de las opciones más populares y funcionales.

AcyMailing

AcyMailing es un componente muy conocido para marketing por correo electrónico en el ecosistema Joomla con un amplio conjunto de funciones, una interfaz fácil de usar y soporte para varios servicios de correo electrónico.

Características clave de AcyMailing:

  • Administre un número ilimitado de listas de suscriptores.

  • Segmentación detallada de la base de datos por campos del perfil.

  • Editor de correo electrónico de arrastrar y soltar.

  • Plantillas adaptables y personalización de contenidos.

  • Envío programado y respuestas automáticas.

  • Análisis de aperturas, clics, bajas.

  • Integración con Joomla, K2, HikaShop, Virtuemart, etc.

Existe una versión básica gratuita con restricciones en el número de suscriptores.

jNoticias

jNews es otra poderosa solución de marketing por correo electrónico de Joomla.

Opciones clave de jNews:

  • Cómoda gestión de listas y grupos de contactos.

  • Editores visuales de correo electrónico (WYSIWYG y Drag & Drop).

  • Contenido dinámico y condiciones para su visualización.

  • Segmentación avanzada basada en el comportamiento del usuario.

  • Cadenas de cartas, autorespondedores, mailings automáticos.

  • Pruebas A/B, informes, gráficos.

  • Sincronización con Joomla, K2, Easysocial, Jomsocial y más de 30 CMS/CRM.

jNews está disponible con una suscripción a partir de $99 por año por dominio.

acajoom

Acajoom es otro componente de correo notable para sitios Joomla. Combina una amplia funcionalidad con facilidad de uso.

Características de Acajoom:

  • Trabaje con un número ilimitado de listas de suscriptores.

  • Plantillas de correo electrónico integradas y un editor sencillo de arrastrar y soltar.

  • Personalización de contenidos por grupos e intereses.

  • Horario de envío flexible.

  • Pruebas divididas, análisis, informes.

  • Compatible con extensiones populares de Joomla.

El precio de Acajoom comienza en $47 por un sitio. Hay una garantía de devolución de dinero de 30 días.

También podemos mencionar extensiones como Mailster, Joomla-Mailings, Joomailer, Emclabs Newsletter, etc. Cada una de ellas tiene sus propias particularidades y audiencia de usuarios.

En general, la elección de un componente de boletín electrónico depende de la escala del proyecto, el presupuesto y las funciones requeridas.

A continuación, nos centraremos específicamente en trabajar con AcyMailing y veremos cómo configurar los correos usando su ejemplo.

Instrucciones paso a paso para crear una lista de correo en AcyMailing

Digamos que tenemos un sitio web Joomla en funcionamiento y queremos lanzar marketing por correo electrónico utilizando AcyMailing.

Consideremos la secuencia de acciones necesarias.

Paso 1. Instale el componente

  • Descargue la versión actual de AcyMailing desde el sitio web del desarrollador.

  • En el panel de administración de Joomla, vaya a Extensiones -> Administrador de extensiones.

  • Haga clic en el botón “Descargar archivo de paquete” y seleccione el archivo descargado de AcyMailing. El componente se instalará automáticamente.

Paso 2. Configuración general

  • Vaya a Componentes -> AcyMailing -> Configuración.

  • En la pestaña “Básico”, complete el nombre y el correo electrónico (para los campos de y respuesta). Estos datos se utilizarán por defecto al enviar correos electrónicos.

  • En la pestaña “Servidores de correo”, especifique el servidor SMTP, el puerto, el nombre de usuario y la contraseña para enviar cartas. Pueden ser datos SMTP de su servicio de correo o de un tercero conectado, por ejemplo SendGrid, Mailgun.

Paso 3: crea una lista de suscriptores

  • En el menú de AcyMailing, seleccione Listas.

  • Haga clic en el botón “Crear lista”.

  • Especifique el nombre de la lista, por ejemplo “Lista de correo principal”.

  • Ingrese el asunto del correo electrónico de confirmación de suscripción.

  • Configure el interruptor “Confirmación de suscripción” en “Sí”.

  • Guarde la lista.

Paso 4: crea un formulario de suscripción

  • En el menú de AcyMailing, vaya a formularios.

  • Haga clic en “Crear formulario”.

  • Seleccione la lista que necesitamos en el campo “Listas”.

  • Seleccione los campos de suscriptor que se mostrarán en el formulario, por ejemplo, nombre y correo electrónico.

  • Copie el código del formulario generado.

Paso 5. Insertar el formulario en el sitio.

  • Creando un nuevo material en Joomla.

  • Cambie a la pestaña HTML del editor de materiales.

  • Pegue el código del formulario de suscripción copiado dentro de las etiquetas.

  • Publicamos el material y comprobamos que el formulario se muestra y funciona correctamente.

Paso 6. Preparar una plantilla de carta

  • En el menú de AcyMailing, vaya a correos.

  • Haga clic en “Crear un boletín informativo”.

  • Especifique el asunto de la carta.

  • En la pestaña “Contenido”, utilizando un conveniente editor de arrastrar y soltar, creamos el cuerpo de la carta.

  • Usamos personalización, por ejemplo ¡Hola, {nombre del suscriptor}!

  • Agregue un llamado a la acción y enlaces al sitio.

  • Probamos la visualización de la carta en diferentes dispositivos en la pestaña de visualización.

Paso 7. Prueba de envío

  • En el correo creado, vaya a la pestaña “Enviando”.

  • En el bloque “Pruebas”, ingrese un correo electrónico de prueba y haga clic en “Enviar prueba”.

  • Comprobamos la entrega de la carta, la exactitud del contenido y los enlaces.

Paso 8. Inicie su lista de correo

  • En la configuración de correo, en la pestaña “Enviando”, seleccione la lista de destinatarios.

  • Especificamos filtros y segmentación de listas, si es necesario.

  • Marque la casilla de verificación “Publicado”.

  • Seleccione la fecha y hora de envío del newsletter.

  • Haga clic en “Guardar y cerrar”.

De esta forma, se crea y programa el envío de correo. Después del envío real a los suscriptores, en la interfaz de AcyMailing será posible realizar un seguimiento de las estadísticas de aperturas, clics, cancelaciones de suscripción, etc.

Esta secuencia de acciones se puede repetir para crear nuevos correos de forma regular.

Personalización y segmentación de mailings

Para aumentar la eficacia del marketing por correo electrónico, no basta con enviar boletines informativos a toda su base de suscriptores. Es importante personalizar el contenido de tus correos electrónicos y segmentar tu audiencia en función de diversas características. Veamos cómo se puede implementar esto usando AcyMailing como ejemplo.

Personalización

El editor de AcyMailing tiene etiquetas de personalización como {field_name}. Estas etiquetas se reemplazan automáticamente con la información del suscriptor adecuada cuando se envían.

Por ejemplo, tenemos campos nombre, apellido, sexo en el perfil del suscriptor. Luego, en el texto de la carta, puede utilizar los siguientes llamamientos:

Здравствуйте, {firstname}!
Уважаемый {firstname} {lastname},  
Дорогая {firstname},

La plantilla AcyMailing admite casi cualquier construcción y bucle condicional para implementar una personalización compleja.

Además, puedes filtrar la base de datos por actividad del suscriptor: aperturas, clics, compras. Esto ayudará a identificar los segmentos fríos y calientes y hacerlos diferentes en contexto e intensidad de ofertas.

Por ejemplo, envíe una serie de correos electrónicos de reactivación a aquellos que no han abierto correos durante mucho tiempo y podrá hacer una oferta exclusiva con un gran descuento a los suscriptores más activos y clientes leales:

Integración de AcyMailing con otros componentes de Joomla

Otra ventaja importante de AcyMailing: integración con muchas otras extensiones. Esto le permite vincular diferentes datos sobre los usuarios en el sitio y utilizarlos para trabajar de manera más eficiente con los correos.

Veamos algunos ejemplos.

Integración con Joomla

Desde el primer momento, AcyMailing puede sincronizar su base de suscriptores con los usuarios integrados de Joomla. Para hacer esto necesitas:

  • Vaya a Joomla en “Usuarios” -> “Grupos de acceso”.

  • Cree un nuevo grupo, por ejemplo “Suscriptores del boletín”.

  • En el menú de AcyMailing, vaya a “Suscriptores” -> “Sincronización de usuarios”

  • Seleccione “Grupos Joomla” como fuente.

  • Marque el grupo recién creado “Suscriptores de listas de correo”.

  • Seleccione una lista de correo para importar usuarios.

  • Haga clic en “Guardar y continuar”.

Ahora, al agregar un usuario al grupo Joomla apropiado, se incluirá automáticamente en la base de datos de suscriptores de AcyMailing.

Integración con K2

K2 es un componente popular para publicar contenido en Joomla. Con la integración habilitada, AcyMailing podrá crear automáticamente envíos por correo a partir de nuevos materiales de K2 de acuerdo con reglas especificadas.

Habilitar la integración:

  • En AcyMailing, vaya a “Extensiones” -> “Suscripciones en Joomla”.

  • En la línea opuesta K2, marque la columna “Publicado”.

Cree una regla de correo automática:

  • En AcyMailing, vaya a “Correos electrónicos” -> “Crear una lista de correo”.

  • En la pestaña “Generación”, configure el interruptor “Generar lista de correo desde K2” en “Sí”.

  • Indicamos la categoría o materiales K2 específicos a enviar.

  • Seleccione una plantilla para crear automáticamente contenido del boletín.

  • Configuramos segmentación de destinatarios y filtros.

Ahora, cuando se publique un nuevo material de K2 de la categoría especificada, se generará un boletín de acuerdo con la plantilla y se enviará automáticamente a los suscriptores.

Integración con Hikashop y Virtuemart

Hikashop y Virtuemart son extensiones populares para organizar una tienda online en Joomla. Su integración con AcyMailing le permite utilizar la información del pedido para envíos por correo más específicos.

Habilitar la integración:

  • En el panel administrativo de Joomla, vaya a “Componentes” -> Hikashop/Virtuemart -> “Configuración”.

  • Vayamos al apartado de integraciones.

  • Frente al elemento AcyMailing, marque la casilla de verificación “Habilitado”.

Con un nuevo pedido en Hikashop o Virtuemart, el correo electrónico del comprador se agregará automáticamente a la lista de suscriptores de AcyMailing. Además, la información sobre el pedido y los productos adquiridos se registrará en campos adicionales.

Así es como se vería el código para generar recomendaciones personalizadas basadas en pedidos anteriores en Hikashop:

{foreach $previous_orders as $order}
  {foreach $order->products as $product}
    <li>{$product->name}</li>
  {/foreach}  
{/foreach}

Aquí obtenemos una serie de pedidos anteriores del usuario de Hikashop, revisamos los productos dentro de cada pedido y mostramos sus nombres en la carta.

De manera similar, puedes integrar AcyMailing con muchos otros componentes de Joomla: catálogos, formularios, blogs, foros. La información sobre estas integraciones suele estar contenida en la documentación de las extensiones correspondientes.

Veamos más a fondo cómo implementar el envío de SMS en un sitio que ejecuta Joomla.

Seleccionar una puerta de enlace SMS y conectarla en Joomla

Ventajas de las notificaciones por SMS:

  • Alta velocidad de entrega.

  • Lectura garantizada (el 93% de los mensajes se abren en 5 minutos).

  • Carácter personal y confidencial del recurso.

  • La capacidad de llegar a suscriptores de correo electrónico inactivos.

  • Llegar a una audiencia que no utiliza el correo electrónico.

Para enviar SMS desde el sitio, debe conectarse a un servicio especial: una puerta de enlace de SMS. Es una plataforma que permite la mensajería entre una aplicación web y redes móviles.

Hay muchas puertas de enlace con diferentes condiciones y capacidades. Algunas opciones populares:

Al elegir un servicio, céntrese en:

  • precios para enviar SMS a los países que necesites

  • calidad de entrega

  • API para integración

  • apoyo técnico

  • opiniones de otros usuarios

Tras analizar estos factores, nos damos de alta en el servicio y recargamos saldo con el importe inicial. A continuación, implementaremos la conexión real de la puerta de enlace SMS a Joomla. Hay dos formas principales:

1. A través del componente de integración

En el catálogo de extensiones de Joomla puede encontrar componentes listos para trabajar con puertas de enlace de SMS populares.

Instalamos el componente en Joomla, ingresamos la clave API desde la cuenta personal de la puerta de enlace y comenzamos a enviar SMS a través de la interfaz del componente o llamando a sus funciones en el código de otras extensiones.

Ventajas del enfoque: facilidad de integración, costes laborales mínimos. Contras: menos flexibilidad, dependencia del código de terceros.

2. Mediante llamadas directas a la API

Cada puerta de enlace proporciona una API HTTP para enviar mensajes. Con una clave de acceso, podemos realizar solicitudes directamente a la API desde el código PHP de Joomla y procesar las respuestas.

Términos y definiciones

Antes de pasar a los aspectos prácticos, familiaricémonos con los términos básicos:

  • ESME (Entidad externa de mensajería corta) es una aplicación externa que se conecta a SMSC para enviar o recibir mensajes SMS.

  • PDU (Unidad de datos de protocolo): paquete de datos del protocolo SMPP.

  • SMSC (Centro de servicio de mensajes cortos): centro de servicio de mensajes cortos.

  • TLV (Tag-Length-Value) es un formato para presentar datos adicionales en mensajes.

  • UDH (Encabezado de datos de usuario): encabezado de datos de usuario en un mensaje SMS.

Conexión a Exove a través de SMPP

1. Obtenga acceso a la cuenta personal del desarrollador. Exolvear.

2. Vaya a la pestaña “Aplicaciones” en el menú superior de su cuenta.

3. Seleccione la aplicación deseada.

4. Vaya a “Mensajes” → “Cuenta SMPP” en el menú de la izquierda.

5. Anote los siguientes parámetros de conexión: system_id (inicio de sesión), contraseña (contraseña), dirección (smpp.exolve.ru) y puerto (2775).

6. Configure su ESME (aplicación de SMS) con estas configuraciones.

7. Utilice el protocolo SMPP versión 3.4 para conectarse.

Envío de SMS a través de Exove SMPP

1. Seleccione el tipo de conexión: receptor o transceptor.

2. Al enviar SMS, asegúrese de especificar el parámetro data_coding:

– Utilice GSM7 para el alfabeto latino

– Utilice UCS2 para cirílico

3. Para enviar vía short_message:

– Establecer el texto en el campo “mensaje_corto”

– Para mensajes de varias partes utilice UDH

– Límite: 67 caracteres cirílicos o 153 caracteres latinos por segmento

4. Para enviar mediante carga útil:

– Establecer texto en el campo “carga útil”

– No dividir en segmentos

– Dejar vacío el campo “mensaje_corto”

5. Envíe la PDU enquire_link cada 15 minutos para mantener la conexión.

Crear un boletín a través de la API de Exove

1. Prepare una clave API para su aplicación Exove.

2. Utilice el punto de conexión: PUBLICAR https://api.exolve.ru/campaign/v1/Create

3. Establezca el encabezado de Autorización: Portador {su clave API}

4. Prepare JSON con parámetros de distribución:

– nombre: nombre del boletín

– zona horaria: contabilidad de zona horaria (verdadero/falso)

– Seleccione el canal de distribución (sms, mensaje_voz o cascada)

5. Para envío de SMS indicar:

– alpha_name: nombre del remitente

– texto: texto del mensaje

6. Para distribución en cascada, configure la secuencia de canales y las condiciones de transición.

7. Si es necesario, configure el horario de envío de correo.

8. Envíe la solicitud y reciba campaña_id en la respuesta.

Ejemplo de solicitud de texto SMS

{
    "name": "test",
    "timezone": true,
    "sms": {
        "props": {
            "alpha_name": "shop",
            "text": "Приходите к нам в магазин!"
        }
    }
}

Solicitud de ejemplo para envío de correo en cascada

{ 
    "name": "Рассылка с расписанием",
    "cascade": {
        "elements": (
            {
                "sms": {
                    "props": {
                        "alpha_name": "shop",
                        "text": "Приходите к нам!"
                    }
                },
                "condition": "1"
            },
            {
                "voice_message": {
                    "props": {
                        "voice_message_id": "353b86e0-a62c-47d4-9b94-8dba32c922fc",
                        "from": "79991112233"
                    }
                }
            }
        )
    },
    "schedule": {
        "days": {
            "mon": {
                "intervals": (
                    {
                        "from": {
                            "hours": 10,
                            "minutes": 0,
                            "seconds": 0,
                            "nanos": 0
                        },
                        "to": {
                            "hours": 15,
                            "minutes": 30,
                            "seconds": 0,
                            "nanos": 0
                        }
                    }
                )
            }
        }
    }
}

Optimización de envíos de SMS en Exolve

1. Utilice la codificación GSM7 para mensajes en latín para guardar caracteres.

2. Para cirílico, utilice la codificación UCS2.

3. Al enviar mensajes de varias partes a través de short_message, forme el UDH correctamente.

4. Para mensajes largos, utilice payload en lugar de short_message para evitar la segmentación manual.

5. Verifique su conexión periódicamente enviando enquire_link cada 15 minutos.

6. Al crear correos en cascada, configure las condiciones de transición para optimizar la entrega.

7. Utilice un cronograma de envío de correo para enviar mensajes en el momento óptimo para los destinatarios.

Solución de problemas

1. Utilice Wireshark para analizar el tráfico SMPP si ocurren problemas.

2. Si tiene problemas con las solicitudes de API, verifique la exactitud de la clave API y el formato JSON.

3. Si no se crea la lista de correo, asegúrese de que:

– El nombre alfa para SMS pertenece a tu aplicación.

– El número de teléfono para SMS de voz pertenece a tu aplicación

– El ID del mensaje de voz existe y pertenece a tu aplicación.

4. Si hay errores en los parámetros, verifique:

– Longitud del nombre alfa (de 3 a 11 caracteres)

– Longitud del número de teléfono (de 1 a 14 caracteres)

– Longitud del nombre del boletín (de 3 a 40 caracteres)

5. Si el envío de correos no comienza a la hora especificada, verifique si lo creó durante el intervalo de programación actual.

Envío de un simple SMS vía SMPP

// Подключение к SMPP серверу Exolve
$smpp = new SMPP('smpp.exolve.ru', 2775, 'your_system_id', 'your_password', 'YOUR_SYSTEM_TYPE');
$smpp->bindTransceiver();

// Отправка SMS
$from = 'YOUR_ALPHA_NAME';
$to = '79991234567';
$message="Ваш заказ подтвержден";

$smpp->sendSMS($from, $to, $message, (
    'data_coding' => SMPP::DATA_CODING_UCS2, // Для кириллицы
));

$smpp->close();

Envío de un SMS de varias partes a través de SMPP

// Подключение к SMPP серверу Exolve
$smpp = new SMPP('smpp.exolve.ru', 2775, 'your_system_id', 'your_password', 'YOUR_SYSTEM_TYPE');
$smpp->bindTransceiver();

// Отправка составного SMS
$from = 'YOUR_ALPHA_NAME';
$to = '79991234567';
$message="Это длинное сообщение, которое будет разделено на несколько частей. Каждая часть будет отправлена отдельно, но благодаря UDH они будут собраны в одно сообщение на телефоне получателя.";

$parts = str_split($message, 67); // Разделяем на части по 67 символов для кириллицы
$total_parts = count($parts);
$reference_number = mt_rand(0, 255);

foreach ($parts as $i => $part) {
    $udh = pack('cccccc', 5, 0, 3, $reference_number, $total_parts, $i + 1);
    
    $smpp->sendSMS($from, $to, $udh . $part, (
        'data_coding' => SMPP::DATA_CODING_UCS2,
        'esm_class' => SMPP::ESM_CLASS_UDHI,
    ));
}

$smpp->close();

Crear un correo en cascada a través de API

$api_key = 'YOUR_API_KEY';
$url="

$data = (
    'name' => 'Каскадная рассылка',
    'timezone' => true,
    'cascade' => (
        'elements' => (
            (
                'sms' => (
                    'props' => (
                        'alpha_name' => 'YourShop',
                        'text' => 'У нас новая акция! Посетите наш сайт для подробностей.'
                    ),
                    'ttl' => '60s'
                ),
                'condition' => '1' // Если SMS не доставлено
            ),
            (
                'voice_message' => (
                    'props' => (
                        'voice_message_id' => 'YOUR_VOICE_MESSAGE_ID',
                        'from' => '79991112233'
                    )
                )
            )
        )
    ),
    'schedule' => (
        'days' => (
            'mon' => (
                'intervals' => (
                    (
                        'from' => ('hours' => 10, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0),
                        'to' => ('hours' => 18, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0)
                    )
                )
            ),
            'tue' => (
                'intervals' => (
                    (
                        'from' => ('hours' => 10, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0),
                        'to' => ('hours' => 18, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0)
                    )
                )
            )
        )
    )
);

$headers = (
    'Authorization: Bearer ' . $api_key,
    'Content-Type: application/json'
);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
echo "Campaign ID: " . $result('campaign_id');

Envío de SMS usando carga útil

// Подключение к SMPP серверу Exolve
$smpp = new SMPP('smpp.exolve.ru', 2775, 'your_system_id', 'your_password', 'YOUR_SYSTEM_TYPE');
$smpp->bindTransceiver();

// Отправка SMS с использованием payload
$from = 'YOUR_ALPHA_NAME';
$to = '79991234567';
$message="Это длинное сообщение, которое будет отправлено через payload. Оно может содержать больше символов, чем обычное SMS, и не требует ручного разделения на части.";

$smpp->sendSMS($from, $to, '', (
    'data_coding' => SMPP::DATA_CODING_UCS2,
    'message_payload' => $message,
));

$smpp->close();

Estos ejemplos demuestran diferentes formas de utilizar Exolve para enviar SMS y crear boletines. Cubren aspectos como el envío de mensajes simples y de varias partes a través de SMPP, la creación de correos en cascada a través de API y el uso de carga útil para enviar mensajes largos.

Envío de SMS al crear una aplicación en el sitio web

Un caso bastante común es enviar un SMS al cliente y al administrador cuando se recibe una nueva solicitud del sitio. Veamos la implementación usando el componente Chronoforms como ejemplo.

Este es un poderoso creador de formularios web para Joomla, que también puede crear encuestas, cuestionarios con llenado de varios pasos, lógica condicional, etc.

Digamos que tenemos un formulario de pedido de devolución de llamada simple con los siguientes campos:

Para configurar el envío de SMS después de completar el formulario:

1. En el panel de administración, vaya a “Componentes” -> Chronoforms -> “Gestión de formularios”.

2. Abra el formulario de devolución de llamada.

3. En la pestaña “Eventos”, agregue un nuevo evento “Después del envío”.

4. Seleccione “Enviar SMS” como acción.

5. En el campo “Número de teléfono”, indique {teléfono}; por lo tanto, sustituya el número del campo “Teléfono” del formulario.

6. En el campo “Mensaje” escriba el texto del SMS, por ejemplo:

¡Hola {nombre}! Su solicitud de devolución de llamada ha sido aceptada. Le devolveremos la llamada {call_time}. ¡Gracias por comunicarte!

7. Complete las configuraciones de SMS restantes según sea necesario.

8. Guarde el evento y pruebe el envío.

Para enviar un SMS al administrador sobre una nueva aplicación, debe agregar otro evento “Después del envío”, pero ya indicar el número del administrador en el campo del número de teléfono.

Esta configuración es relevante no solo para los formularios de comentarios, sino también para pedidos en una tienda en línea, servicios de reserva y registro para un evento.

Activadores de eventos adicionales para SMS

Además de completar formularios web, hay otros eventos en el sitio, cuando ocurran, sería apropiado enviar un SMS.

Pongamos algunos ejemplos típicos.

Agregar un artículo a su carrito

Tengamos una tienda de electrónica online en Joomla + Virtuemart. Para enviar SMS al agregar un artículo a su carrito:

1. Instale el complemento de notificación por SMS del complemento Joomla

2. En su configuración, seleccione la puerta de enlace SMS que nos interesa.

3. Especifique el evento OnCartAdd

4. Escribo un SMS en la plantilla B:

{product_name} ha sido agregado a tu carrito. Precio {product_price}. Continuar comprando: {url}

5. Guarde el complemento y pruébelo.

De esta forma, podrás animar a los usuarios a completar sus compras.

Recordatorio de factura impaga

Imaginemos que el sitio emite facturas a los clientes a través del componente Facturas de Joomla. Si el cliente no paga la factura en un plazo de 3 días, tiene sentido enviarle un recordatorio por SMS.

1. En el panel administrativo, vaya a componentes, seleccione Facturas Joomla.

2. Cree una nueva plantilla de cuenta.

3. En el editor de plantillas, añade el código para enviar SMS:

$dueDate = $invoice->due_date;
$threeDaysAfter = date('Y-m-d', strtotime($dueDate . '+3 days'));
$today = date('Y-m-d');

if ($today >= $threeDaysAfter && $invoice->status="Unpaid") {
  // отправляем SMS
  $phoneNumber = $invoice->phone;
  $message = "Здравствуйте! Напоминаем, что ваш счет №{$invoice->number} на сумму {$invoice->total} просрочен. Пожалуйста, оплатите его в течение 2 дней. Спасибо!";
  sendSMS($phoneNumber, $message);
}

function sendSMS($to, $message) {
  // реализация отправки SMS 
}

4. Guarde la plantilla de factura.

El código comprobará la fecha de la factura, y si han pasado más de 3 días y aún no se ha pagado la factura, enviará un SMS de recordatorio al cliente.

Vencimiento de la suscripción en el sitio.

A menudo hay casos en los que el acceso a los materiales o servicios del sitio se proporciona mediante una suscripción paga. Avisar al cliente con antelación sobre el inminente fin de la suscripción será la decisión acertada.

Digamos que las suscripciones en el sitio se implementan a través del componente Suscripciones de Akeeba.

1. Busque el archivo /plugins/akeebasubs/plugins/smsreminder.php

2. Ya tiene un método onSubscriptionExpiring para manejar las suscripciones que caducan.

3. Modifiquemos este método para enviar SMS:

public function onSubscriptionExpiring($subscription)
{
    if (!$subscription->enabled)
    {
        return;
    }

    $params = $subscription->getParams();
    $daysBeforeExpiration = $params->get('days_before', 0);
    if ($daysBeforeExpiration <= 0)
    {
        return;
    }

    $user = $subscription->getUser();
    $expirationDate = new DateTime($subscription->getExpirationDate());
    $today = new DateTime();
    $today->setTime(0, 0, 0);

    $interval = $today->diff($expirationDate);
    if ($interval->days !== $daysBeforeExpiration)
    {
        return;
    }
    
    $message = "Здравствуйте, {$user->name}! Подписка на наш сервис истекает через {$daysBeforeExpiration} дней - {$expirationDate->format('d.m.Y')}. Продлите подписку на сайте, чтобы не потерять доступ к материалам!";
    sendSMS($user->mobilePhone, $message);
}

Aquí verificamos la diferencia entre la fecha de hoy y la fecha de vencimiento de la suscripción, y si es igual al número de días especificado en la configuración, enviamos un SMS al usuario con un recordatorio para renovar la suscripción.

Puede hacer lo mismo con cualquier otro evento en el sitio que requiera una reacción: cambiar el estado de un pedido, publicar contenido nuevo, actividad del usuario, etc.

Cuando se utilizan correctamente, las notificaciones por SMS pueden aportar importantes beneficios a una empresa y aumentar la satisfacción del cliente.

Conclusión

Integración Exolvear y otros servicios en su sistema Joomla abre nuevas oportunidades de comunicación con los clientes. Utilizando el protocolo SMPP o API, puede crear potentes alertas que complementen sus campañas de correo electrónico.

Recuerda la importancia de cumplir con los requisitos técnicos y optimizar tus envíos. Analice periódicamente la eficacia de sus campañas de SMS, experimente con diferentes enfoques y tenga siempre en cuenta las preferencias de los clientes.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *