=== Authyo OTP for Contact Form 7 ===
Contributors: konceptwise
Tags: contact form 7, otp verification, phone verification, email verification, whatsapp notification
Requires at least: 5.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.34
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add OTP verification (Email & Phone) to Contact Form 7. Reduce spam, verify users via SMS, WhatsApp, Email, or Voice, and get WhatsApp alerts.

== Description ==

Tired of spam submissions and fake leads from your Contact Form 7 forms? **Authyo OTP for Contact Form 7** helps you solve this by adding secure OTP verification before form submission.

With support for **Email, SMS, WhatsApp, and Voice Call OTP**, you can ensure that only genuine users submit your forms — improving lead quality and reducing unwanted entries.

The plugin is designed to work seamlessly with Contact Form 7 and provides an easy setup experience without complex configurations.

This plugin is an **independent add-on for Contact Form 7**, developed and maintained by **Konceptwise Digital Media Pvt. Ltd.**, and integrates securely with the Authyo OTP service.

"This plugin is an add-on for Contact Form 7 and is not developed by or affiliated with the Contact Form 7 authors."

= Key Features =

**OTP Verification**

* Add OTP verification to Contact Form 7 forms
* Email OTP using `[authyo_email]` shortcode
* Phone OTP using `[authyo_phone]` shortcode
* Automatic verification on OTP entry
* Custom messages for OTP sent, verified, and failed states
* Enable or disable OTP per form

**OTP Delivery Channels**

* Email OTP
* SMS OTP (India & international)
* WhatsApp OTP
* Voice Call OTP (available in India)
* Automatic fallback between channels if configured

**Spam Protection & Security**

* Prevent fake submissions and spam entries
* Verify email addresses and phone numbers before submission
* Uses secure API communication with validation
* Follows WordPress coding standards (nonce & sanitization)

**Google Sheets Integration**

* Automatically send form entries to Google Sheets
* Multi-sheet support for different forms
* Custom column mapping for form fields
* Dynamic sheet/tab creation

**Leads Manager**

* Automatically captures all verified form submissions in a dedicated leads table
* View, filter, and search leads by form, verification status, or date range
* Export leads to CSV for offline use
* Bulk delete leads with one click
* Tracks verification status and channel per submission

**Country Dropdown**

* Built-in country selector with search and flag icons
* Configure which countries to show — all or selected only
* Standalone `[only_country_dropdown]` shortcode for use outside OTP flows
* Automatically prepends country dial code to phone numbers before submission

**WhatsApp Notify**

* Automatically send form submission details to your WhatsApp number after every verified submission
* Works with your existing Authyo credentials — no extra setup needed
* Enable or disable notifications globally or per individual form
* WhatsApp delivery status (Sent / Failed) visible directly in the Leads Manager
* Long textarea messages are automatically trimmed to 500 characters to ensure reliable delivery
* Total notification message is capped at 1,000 characters to stay within WhatsApp template limits

**Fallback Methods**

* Configure multiple OTP channels as fallback options
* If the primary method fails, users can retry with an alternative channel
* Let visitors choose their preferred OTP method (SMS, WhatsApp, or Voice Call)

**Form Control**

* Set custom redirect URL after successful submission
* Works with AJAX and popup forms

= Who Can Use This Plugin? =

* Website owners using Contact Form 7 for lead generation
* Businesses looking to reduce spam and fake inquiries
* Agencies managing multiple client websites
* Developers building secure and verified forms

= Live Demo =

https://wpplugins.authyo.io/authyo-otp-for-contact-form-7/

= Video Tutorial =

https://www.youtube.com/watch?v=hhBnj1WWDdI

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/authyo-otp-for-contact-form-7/` directory, or install through the WordPress Plugins screen.

2. Activate the plugin through the **Plugins** menu in WordPress.

3. You will need an Authyo API key from your Authyo account.

4. Enter the API key in **Authyo OTP for CF7** settings.

5. Enable OTP for your desired forms in the **Form Integration** tab.

6. Add shortcode to your Contact Form 7 form:

   * Email OTP: `[authyo_email]`
   * Phone OTP: `[tel your-phone]` + `[authyo_phone]`

7. Save and test your form.

= Example: Phone OTP Setup =

```
<label> Your Phone Number  
    [tel your-phone] [authyo_phone]  
</label>  

<label> Your Message  
    [textarea your-message]  
</label>  

[submit "Send"]  
```

= Example: Email OTP Setup =

```
<label> Your Email  
    [email your-email] [authyo_email]  
</label>  

[submit "Send"]  
```

== Frequently Asked Questions ==

= Does this plugin require Contact Form 7? =
Yes. This plugin is an extension for Contact Form 7 and requires it to be installed and activated.

= Which OTP methods are supported? =
Email, SMS, WhatsApp, and Voice Call.

= Is an Authyo account required? =
Yes. You need an Authyo account and API key to use OTP services.

= Does it work with popup forms? =
Yes. The plugin works with popup forms.

= Can I use it on multiple forms? =
Yes. OTP can be enabled or disabled for each form individually.

= Does it support Indian numbers? =
Yes. It supports Indian numbers with SMS, WhatsApp, and Voice Call OTP.

== Screenshots ==

1. OTP Integration settings
2. OTP channel configuration
3. Phone number country selector
4. Usage and shortcode guide

== Changelog ==
= 1.0.34 =

* Improvement: Send site origin URL with Authyo API requests for improved request validation

= 1.0.33 =

* Improvement: Performance improvement

= 1.0.32 =

* Feature: Added WhatsApp Notify module — sends form submission details to admin's WhatsApp number after each verified CF7 submission
* Feature: Added WhatsApp status column to Leads Management — shows Sent/Failed badge per lead

= 1.0.31 =

* Improvement: Performance improvement

= 1.0.29 =

* Feature: Added interactive Plugin Tour for new users — auto-starts on first activation
* Guides users step-by-step through API setup, OTP channels, form integration, Google Sheets, and leads management
* Includes "Take a Tour" button to restart the tour anytime from the settings page
* Lightweight custom implementation with zero external dependencies
* Fully responsive, keyboard accessible, and RTL compatible
* Feature: Added Support tab with direct email contact and help request form
* Customers can now send support requests directly from the plugin settings page

= 1.0.28 =

* Improvement: performance and security improvement

= 1.0.27 =

* Feature: Added optional Advanced Phone Validation using Google's libphonenumber library
* Provides real-time country-specific phone number validation with digit count feedback
* Detects landline numbers and warns users (non-blocking)
* Uses E.164 formatting for more reliable OTP delivery
* Disabled by default — enable in Verification Methods tab

= 1.0.26 =

* Compatibility: Added DONOTCACHEPAGE support to prevent stale nonce issues with all major caching plugins

= 1.0.25 =

* Improvement: performance improvement

= 1.0.24 =

* Improvement: performance improvement

= 1.0.23 =

* Improvement: performance improvement

= 1.0.22 =

* UI/UX: Improved country dropdown behavior

= 1.0.21 =

* Improvement: performance improvement

= 1.0.20 =

* UI/UX: Improved OTP method selection

== External Services ==

This plugin connects to external Authyo services in the following scenarios:

= OTP Verification =

**Service used:** Authyo (https://app.authyo.io)
**Purpose:** OTP verification (send and verify one-time passwords)
**Data sent:** Email or phone number for verification
**When:** During OTP request and verification on frontend forms
**Provider:** Authyo Inc. / Konceptwise Digital Media Pvt. Ltd.
**Terms:** https://authyo.io/terms-service
**Privacy Policy:** https://authyo.io/privacy-policy

= Support Requests =

**Service used:** Authyo (https://app.authyo.io)
**Purpose:** Delivering support/help requests submitted by the site administrator
**Data sent:** Admin's message, email address, site URL, plugin version, WordPress version, PHP version
**When:** Only when the site administrator explicitly submits the help form in the Support tab
**Provider:** Authyo Inc. / Konceptwise Digital Media Pvt. Ltd.
**Terms:** https://authyo.io/terms-service
**Privacy Policy:** https://authyo.io/privacy-policy

= WhatsApp Form Notifications =

**Service used:** Authyo (https://app.authyo.io)
**Purpose:** Sending WhatsApp notification to the admin's phone number after a verified form submission
**Data sent:** Admin's WhatsApp number and submitted form field values (text only — no file uploads)
**When:** After a verified Contact Form 7 form submission, if WhatsApp Notify is enabled
**Provider:** Authyo Inc. / Konceptwise Digital Media Pvt. Ltd.
**Terms:** https://authyo.io/terms-service
**Privacy Policy:** https://authyo.io/privacy-policy

= Plugin Activation & Deactivation Tracking =

**Service used:** Authyo (https://app.authyo.io)
**Data sent:** Plugin version, page URL, and optional deactivation reason
**When:** On plugin settings save (non-blocking) and plugin deactivation (optional feedback)
**Provider:** Authyo Inc. / Konceptwise Digital Media Pvt. Ltd.
**Terms:** https://authyo.io/terms-service
**Privacy Policy:** https://authyo.io/privacy-policy

== Dependencies ==

This plugin requires the **Contact Form 7** plugin to be installed and activated.

Contact Form 7 is developed by Takayuki Miyoshi and is available on WordPress.org:
https://wordpress.org/plugins/contact-form-7/