Skip to content

Envío de SMS

Requisitos previos de acceso

  • Permiso (módulo): acceso otorgado por el guard administrativo de la ruta (admin). No existe un módulo dinámico específico para esta pantalla.
  • Licencia/Feature: Ninguna.
  • Contenedor del menú: GENERAL → grupo Comunicación (ícono campaign) → Envío de SMS.

Qué es / cuándo usar

Pantalla para crear y programar envíos masivos de SMS o a una lista específica de destinatarios. La mecánica es idéntica a la de Envío de e-mail: cada envío se convierte en una "acción masiva" (MassActions con action = 'SMS') que entra en la cola del CommunicationScheduler. Úsela para avisos breves, confirmaciones y campañas por canal SMS.

Requisitos previos

  • Permiso: ítem bajo el guard admin de la ruta. El permiso en Axia es doble (enum CPM en el backend + módulo dinámico en la DB); el gate efectivo aquí es el guard de ruta — valide el perfil administrativo.
  • Licencia/Feature: ninguna.
  • Dependencias de otras pantallas: en el modo Individual, el destinatario se valida contra la base de usuarios (misma verificación que el e-mail).

Paso a paso

  1. Acceda al menú Comunicación → Envío de SMS.
  2. La pantalla lista los envíos existentes (columnas Cuándo, Asunto, Estado, editar/eliminar).
  3. Haga clic en Nuevo / Crear para abrir el modal.
  4. Elija el público: Todos (all) o Individual (single).
  5. En el modo Individual, agregue cada destinatario (validado contra la base, se convierte en chip).
  6. Complete Mensaje y Fecha.
  7. Confirmar. El envío entra en la cola.

Campos

Listado

ColumnaQué muestraOrigen del dato
Cuándo (when)Fecha de creación/programaciónMassActions.when/scheduleTo
Asunto (subject)Para SMS se almacena vacíoMassActions.subject (cadena vacía en SMS)
EstadoCREATED/PENDING, EXECUTED, CANCELLEDMassActions.status
Editar / EliminarReabre el modal / cancela (marca CANCELLED)
CampoQué es¿Obligatorio?Efecto en el sistema/backend
Público (Todos / Individual)Toda la base o lista específicaall = true encola un registro PENDING por usuario de la base; all = false por destinatario de la lista. En modo edición, el público queda bloqueado.
E-mail/destinatario (solo en modo Individual)Identifica al usuario objetivoCondicional (≥1 en modo Individual)Validado contra la base vía getUserByEmailWallet; solo se acepta quien existe. Se convierte en chip.
Mensaje (message)Texto del SMSAlmacenado en MassActions.message. A diferencia del e-mail, no hay campo de asunto (almacenado vacío).
Fecha (when)Fecha a partir de la cual puede ser procesadoMínimo = hoy. El scheduler se ejecuta cada 30 minutos.

Acciones y modales

  • Crear (Confirmar): crea la MassActions (action = 'SMS', status = 'CREATED') y los destinatarios PENDING. La pantalla se recarga.
  • Editar: ajusta Mensaje y Fecha; el público y la lista quedan solo lectura. Guardar devuelve el envío a CREATED.
  • Eliminar: marca CANCELLED (no borra).

Reglas de negocio / precauciones

Atención

  • Advertencia sobre entrega de SMS: en el CommunicationScheduler actual, la rama action === 'SMS' del lazo de procesamiento está vacía (sin implementación de envío real). En la práctica, los envíos de SMS creados en esta pantalla se registran y programan, pero el envío real depende de la implementación del proveedor de SMS en el scheduler. Confirme con el equipo de plataforma si el canal SMS está activo en el ambiente antes de prometer entrega al cliente. El flujo de e-mail, en cambio, sí es procesado efectivamente.
  • El destinatario individual solo se acepta si existe en la base.
  • El envío no es inmediato: depende del ciclo de 30 min del scheduler.

Irreversible

  • Una vez enviado por el proveedor, no hay rollback del SMS. Cancelar solo impide los envíos que aún están PENDING.
  • Idempotencia: procesamiento por destinatario (PENDINGEXECUTED); la re-ejecución no reenvía a quienes ya lo recibieron.

Pantallas relacionadas