MeteorGPLby WebbingApps

Listeo SMS Notifications & OTP Verification

Plugin
Seguir 0 Dar estrella 0
Instalar

SMS (Twilio), WhatsApp and Web Push notifications for Listeo bookings and listings, with per-user preferences, delivery log and phone OTP verification.

  • 0 estrellas
  • 0 seguidores
  • 0 descargas
  • GPL-2.0-or-later

Versiones 9

Las más recientes primero · cada versión se analiza antes de publicarse
  1. 2.0 Más reciente

    Developers can now send SMS through any provider instead of Twilio, using the new listeosmspresend filter. It covers every notification, the... Notas de la versión

    2.238 archivos 2,9 MB 31 modificados +5.164 −560 Verificado

  2. 1.2

    Twilio sender now accepts a Messaging Service SID. If the "Twilio Sender" setting is an "MG..." Messaging Service SID it is sent via Twilio'... Notas de la versión

    2.229 archivos 2,9 MB 30 modificados +5.303 −327 Verificado

  3. 1.1.6

    2.207 archivos 2,8 MB 2 modificados +2 −1 Verificado

  4. 1.1.5

    2.207 archivos 2,8 MB 2 modificados +5 −3 Verificado

  5. 1.1.4

    2.207 archivos 2,8 MB 1 modificado +1 −1 Verificado

  6. 1.1.3

    2.207 archivos 2,8 MB 3 modificados +324 −29 Verificado

  7. 1.1.2

    2.207 archivos 2,8 MB 3 modificados +59 −26 Verificado

  8. 1.1.0

    2.207 archivos 2,8 MB 3 modificados +132 −82 Verificado

  9. 1.0.0

    A change since the previous version. Notas de la versión

    2.207 archivos 2,8 MB Verificado

Mostrar 2 versiones aún no disponibles

Lanzamientos que figuran en el registro de cambios del proveedor o en WordPress.org y que el repositorio aún no tiene.

  1. 1.3.0 Aún no disponible Fecha de lanzamiento no indicada

    Release hardening: blank WhatsApp credential overrides inherit SMS credentials correctly; international phone addressing no longer guesses a...

    Entrada del registro de cambios

  2. 0.5 Aún no disponible Fecha de lanzamiento no indicada

    List versions from most recent at top to oldest at bottom.

    Entrada del registro de cambios

Listeo SMS Notifications & OTP Verification

SMS (Twilio), WhatsApp and Web Push notifications for Listeo bookings and listings, with per-user preferences, delivery log and phone OTP verification.

Listeo SMS Notifications & OTP Verification is an add-on for the Listeo directory theme. It sends text and push notifications for the booking and listing events that Listeo Core already fires, and adds phone number verification to registration and login.

Channels

  • SMS via Twilio for around 20 Listeo events: new reservation (regular and instant), waiting for approval, approved, paid, cash payment confirmed, free booking confirmed, waiting for payment, canceled (user and owner), upcoming booking, review reminder, new review for the owner, listing submitted (user and admin), listing published, listing expiring soon and listing expired. Every event has its own on/off switch and editable message template with placeholders.
  • WhatsApp through Twilio or the Meta WhatsApp Cloud API, with separate WhatsApp message templates.
  • Web Push browser notifications for logged-in users. Self-hosted delivery (VAPID) is built in and needs no extra libraries; OneSignal can be used instead. Users subscribe from their notification preferences.

Booking reminders

Turn on Scheduled Booking Reminders and add a suggested time (day before or hour before), or choose a number of minutes, hours or days before the booking. Select SMS, WhatsApp and/or Web Push for each reminder and edit its messages in the same card. Save Settings applies every reminder change at once. Changing a time keeps its messages and notification preferences.

Reminders apply to confirmed, paid and approved bookings. The scheduler checks once per minute through WP-Cron, so actual delivery depends on your site's cron execution. It never intentionally sends before the selected time. After a delayed run it catches up only the most recent reminder due on each channel, and skips bookings that have already started. Scheduled reminders replace the older Upcoming booking notification on the channels used by active reminder rules; email notifications are unaffected.

Per-user preferences

Site-wide defaults decide which channels each event may use. Users can override them for their own account via the [listeo_notification_preferences] shortcode or the Notifications box shown in Listeo's My Account page.

Preferences appear for enabled channels even while provider setup is incomplete. Self-hosted Web Push device controls become available after VAPID keys are configured; until then the panel explains that push is unavailable and gives administrators a setup link.

The "Receive SMS notifications" switch in Notifications pauses all SMS without clearing individual choices. It replaces the older "Turn off SMS Notifications" control in Profile Details when the multi-channel engine and SMS channel are enabled. Existing opt-outs are preserved. Use Save preferences to apply both the master switch and detailed choices; phone verification codes are unaffected.

Notification preferences use inline SVG icons. The WhatsApp mark is from Font Awesome Free 5.15.1 by Font Awesome (https://fontawesome.com), licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/); the bundled font glyph is transformed for inline SVG display.

Delivery log

Every message is recorded with its channel, event, recipient and result. The log can be filtered by channel and status and purged of entries older than a chosen number of days.

Phone OTP verification

A one-time code is sent by SMS during registration and login. The message text is editable.

Other

  • Templates are WPML and Polylang aware: messages are rendered in the recipient's language when a translation exists.
  • Debug Mode is a separate switch under Notifications -> Logs & Debug. It simulates messages on all channels without provider credentials. Message details go to wp-content/debug.log when WordPress debug logging is enabled.
  • Settings live under Listeo -> Settings -> Notifications.

Qué añade

  • Shortcodes: [listeo_notification_preferences]

Installation

  1. Install and activate the Listeo theme and the Listeo Core plugin. This add-on does nothing without them.
  2. Upload the listeo-sms folder to /wp-content/plugins/ and activate the plugin through the Plugins menu.
  3. Go to Listeo -> Settings -> Notifications.
  4. Enter your Twilio Account SID, Auth Token and Twilio Sender.
  5. Enable the events you want to send and adjust the message templates. Optionally configure WhatsApp, Web Push and Scheduled Booking Reminders in the same settings page.

Faq

What can I enter in the "Twilio Sender" field?

One of three values: a Twilio phone number in international E.164 format (for example +12025551234), an Alphanumeric Sender ID (for example PetFlex, max 11 characters, one-way SMS only, not available for US/Canada), or a Twilio Messaging Service SID starting with MG. A Messaging Service SID is sent as messagingServiceSid; anything else is used as the from sender.

Messages are not being sent. What should I check?

  • Check Debug Mode under Notifications -> Logs & Debug. When enabled, it simulates sending. Message details are written to wp-content/debug.log when WordPress debug logging is enabled.
  • The event is not enabled. Each event has its own switch in the Notifications tab, and for WhatsApp/Web Push the channel itself must be enabled too.
  • The recipient's phone number is not in international E.164 format (+ followed by country code and number). Numbers are normalized before sending, but a number without a country code cannot be delivered.
  • For the "new listing submitted" admin SMS, the admin phone number must be set in the settings.

Can I send SMS through a provider other than Twilio?

Yes, with a small code snippet. Twilio is the built-in provider, but every message the plugin sends (all booking and listing notifications, the scheduled reminders and the login/registration OTP) goes through a single function, and that function offers the listeo_sms_pre_send filter. Return anything other than null from a callback and your own gateway takes over; Twilio is skipped and never called. Local providers with a plain HTTP API can be connected in a few lines.

Put the snippet in a small plugin of your own (or a mu-plugins file) so it survives plugin and theme updates:

` add_filter( 'listeo_sms_pre_send', function ( $result, $to, $body ) { $response = wp_remote_post( 'https://gateway.example.com/api/send', array( 'timeout' => 15, 'body' => array( 'username' => 'my-user', 'token' => 'my-token', 'to' => ltrim( $to, '+' ), // $to arrives as +972501234567 'message' => $body, ), ) );

if ( is_wp_error( $response ) ) {
	return $response; // failure, the reason lands in the delivery log
}

$code = wp_remote_retrieve_response_code( $response );

return array(
	'sent'   => 200 === $code,
	'status' => $code,
	'error'  => wp_remote_retrieve_body( $response ),
);

}, 10, 3 ); `

The number arrives already normalized: international input, and any national number that can be completed with the "Default country code" setting, is passed in E.164 format with a leading plus. A national number on a site with no default country code configured is passed through exactly as the user typed it, which is the same value Twilio would have received, so a gateway that insists on E.164 should check for the leading plus itself.

A callback may also simply return true or false, or a WP_Error whose message is stored with the delivery log entry. Returning an id records the provider's message id in the log, just like the Twilio SID. Returning anything else that is not one of those documented shapes (an HTTP response object, for example) is treated as a failed send, never as a silent success.

Debug Mode is evaluated before the filter, so it keeps simulating sends without contacting your gateway.

WhatsApp has the same seam, listeo_notification_whatsapp_pre_send, with the signature ( $result, $to, $body, $context ). It runs before both the Twilio and the Meta Cloud API providers.

How are national phone numbers handled?

Use + or 00 before the country code for international numbers. Other numbers are treated as national when "Default country code" is configured, even if their first digits happen to match that country code. For example, national 481234567 with default +48 becomes +48481234567. Without a default, WhatsApp rejects national numbers. The default-country conversion removes leading zeros; for countries that retain them internationally, enter the full international number with +.

Can WhatsApp send unattended booking reminders?

The built-in provider requests currently send free-form text. WhatsApp requires approved templates for business-initiated messages outside the 24-hour customer service window. Production template selection and variable mapping are still pending; the Meta payload filter can be used by a developer to supply an approved template. See https://www.twilio.com/docs/content/session-definitions .

Does "sent" in the log confirm delivery to the phone?

It means the provider accepted the request (or Debug Mode simulated it). The SMS log retains the Twilio message SID and errors reported during the request. Later delivery failures require provider status callbacks, which are not implemented yet.

Can I turn off the WhatsApp / Web Push / reminders engine and keep only the original SMS behaviour?

Yes. Add define( 'LISTEO_NOTIFICATIONS_PLUS_DISABLED', true ); to wp-config.php. The plugin then falls back to the legacy SMS-only event hooks.

Does uninstalling remove the plugin's data?

Yes. Deleting the plugin from the Plugins screen drops the delivery log and push subscription tables, removes all plugin options (including the per-event templates) and the per-user notification preferences, and unschedules the reminder cron event. The legacy per-user sms_notifications opt-out flag and the "already sent" markers on listings are left in place.

Instalar

composer require meteorgpl-plugin/listeo-sms

Las comprobaciones de licencia del proveedor están intactas: activa el plugin en WordPress con una clave de licencia comprada al proveedor.

Licencia

Licencia declarada: GPL-2.0-or-later. El código se redistribuye bajo la licencia que el proveedor declaró en las cabeceras del propio plugin. Perfil de licencia: gpl-full.

Las ilustraciones, fuentes, archivos multimedia y documentos que puedan tener una licencia independiente no se redistribuyen; la página de licencias explica qué se sustituye o elimina, y la pestaña de seguridad lo detalla por versión. El soporte y el derecho a actualizaciones vienen con la licencia que compras al proveedor.

Purethemes Listeo ChildTheme

meteorgpl-theme/listeo-child-old-templates

Tema hijo de Listeo

Directory WordPress Theme by Purethemes

tema 1.0-p2.3.0 proprietary

Purethemes Listeo ChildTheme

meteorgpl-theme/listeo-child

Tema hijo de Listeo

Directory WordPress Theme by Purethemes

tema 1.0-p2.3.0 proprietary

Purethemes WorkScout Child

meteorgpl-theme/workscout-child

Tema hijo de WorkScout

WordPress Job Theme

tema 1.0-p20240103 proprietary

Purethemes Purethemes.net CPT

meteorgpl-plugin/purethemes-cpt

Plugin for Custom Post Types like Portfolio, Testimonials etc. used for Themes from Purethemes.net

plugin 1.3

Enviar comentarios

Qué funciona, qué no, qué falta: unas palabras ayudan.

Solo si quieres una respuesta.

Se toma en tu navegador, sin esta ventana. Las contraseñas, lo que escribiste en formularios, las claves y los tokens se omiten como bloques grises; puedes ocultar más antes de enviarla. Conservamos las capturas 90 días.

Lo guardamos con la dirección de la página, tu idioma, el tamaño de la ventana, el navegador y la dirección IP, y tu dirección de correo electrónico si nos la das. La dirección IP y el navegador se eliminan a los 90 días. Política de privacidad.

Todos los idiomas