MeteorGPLby WebbingApps

Listeo SMS Notifications & OTP Verification

Extension
Suivre 0 Ajouter une étoile 0
Installer

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

  • 0 étoile
  • 0 personne le suit
  • 0 téléchargement
  • GPL-2.0-or-later

Versions 9

Les plus récentes d’abord · chaque version analysée avant publication
  1. 2.0 Dernière

    Developers can now send SMS through any provider instead of Twilio, using the new listeosmspresend filter. It covers every notification, the... Notes de version

    2 238 fichiers 2,9 MB 31 modifiés +5 164 −560 Vérifié

  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'... Notes de version

    2 229 fichiers 2,9 MB 30 modifiés +5 303 −327 Vérifié

  3. 1.1.6

    2 207 fichiers 2,8 MB 2 modifiés +2 −1 Vérifié

  4. 1.1.5

    2 207 fichiers 2,8 MB 2 modifiés +5 −3 Vérifié

  5. 1.1.4

    2 207 fichiers 2,8 MB 1 modifié +1 −1 Vérifié

  6. 1.1.3

    2 207 fichiers 2,8 MB 3 modifiés +324 −29 Vérifié

  7. 1.1.2

    2 207 fichiers 2,8 MB 3 modifiés +59 −26 Vérifié

  8. 1.1.0

    2 207 fichiers 2,8 MB 3 modifiés +132 −82 Vérifié

  9. 1.0.0

    A change since the previous version. Notes de version

    2 207 fichiers 2,8 MB Vérifié

Afficher 2 versions pas encore disponibles

Publications citées dans le journal des modifications de l’éditeur ou sur WordPress.org que le dépôt ne contient pas encore.

  1. 1.3.0 Pas encore disponible Date de publication non indiquée

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

    Entrée du journal des modifications

  2. 0.5 Pas encore disponible Date de publication non indiquée

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

    Entrée du journal des modifications

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.

Ce qu’il apporte

  • Codes courts : [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.

Installer

composer require meteorgpl-plugin/listeo-sms

Les vérifications de licence de l’éditeur sont intactes : activez l’extension dans WordPress avec une clé de licence achetée auprès de l’éditeur.

Licence

Licence déclarée : GPL-2.0-or-later. Le code est redistribué sous la licence que l’éditeur a déclarée dans les en-têtes de l’extension. Profil de licence : gpl-full.

Les illustrations, polices, médias et documents susceptibles d’être soumis à une licence distincte ne sont pas redistribués ; la page sur les licences explique ce qui est remplacé ou supprimé, et l’onglet Sécurité le détaille par version. Le droit au support et aux mises à jour vient avec la licence que vous achetez auprès de l’éditeur.

Purethemes Listeo ChildTheme

meteorgpl-theme/listeo-child-old-templates

Thème enfant de listeo

Directory WordPress Theme by Purethemes

thème 1.0-p2.3.0 proprietary

Purethemes Listeo ChildTheme

meteorgpl-theme/listeo-child

Thème enfant de listeo

Directory WordPress Theme by Purethemes

thème 1.0-p2.3.0 proprietary

Purethemes WorkScout Child

meteorgpl-theme/workscout-child

Thème enfant de workscout

WordPress Job Theme

thème 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

extension 1.3

Envoyer votre avis

Ce qui fonctionne, ce qui ne fonctionne pas, ce qui manque : quelques mots suffisent.

Seulement si vous souhaitez une réponse.

Prise dans votre navigateur, sans cette fenêtre. Les mots de passe, ce que vous avez saisi dans les formulaires, les clés et les jetons sont exclus et remplacés par des blocs gris ; vous pouvez masquer d’autres zones avant l’envoi. Nous conservons les captures 90 jours.

Nous l’enregistrons avec l’adresse de la page, votre langue, la taille de la fenêtre, le navigateur et l’adresse IP, ainsi que votre adresse e-mail si vous en indiquez une. L’adresse IP et le navigateur sont supprimés après 90 jours. Politique de confidentialité.

Toutes les langues