WhatsApp OTP Captive Portal: Technical Setup Guide
Key Takeaways: WhatsApp OTP captive portal setup involves four phases: Meta Business Manager configuration, WhatsApp Business API provisioning, portal design in MyWiFi Networks' builder, and end-to-end testing. Total setup time is 2-4 hours for the first deployment, 30-60 minutes for subsequent venues. WhatsApp message templates require Meta approval (24-48 hours). The OTP flow consumes under 50KB per login. MyWiFi Networks handles the API integration layer — resellers configure through the dashboard, not code. Compatible with all 20+ supported hardware vendors.
This is the technical walkthrough for deploying WhatsApp OTP authentication on WiFi captive portals using MyWiFi Networks. It covers every step from Meta Business Manager setup through live deployment testing, with configuration details that resellers need to get the first venue live.
The guide assumes you have an active MyWiFi Networks account with the WhatsApp add-on ($99/month) enabled. If you do not have the add-on, contact your account manager or add it through the billing dashboard.
Architecture overview
Before diving into configuration, understanding the data flow helps troubleshoot issues later.
WhatsApp OTP login flow
- •Guest connects to venue WiFi network
- •Access point redirects guest to MyWiFi Networks' captive portal (hosted or on-premise)
- •Portal displays login screen with "Continue with WhatsApp" button
- •Guest taps the button → deep link opens WhatsApp with a pre-filled message
- •Guest sends the message to the venue's WhatsApp Business number
- •WhatsApp Business API receives the message → webhook fires to MyWiFi Networks
- •MyWiFi Networks generates a one-time password and sends it back via WhatsApp
- •Guest enters the OTP on the portal (or auto-validation occurs if configured)
- •Portal validates the OTP → grants internet access → logs the contact
Components involved
| Component | Role | Managed by |
|---|---|---|
| Access point | Redirects to captive portal | Venue/reseller |
| Captive portal | Displays login UI | MyWiFi Networks (hosted) |
| WhatsApp Business API | Sends/receives messages | Meta (via MyWiFi integration) |
| Meta Business Manager | Business verification, API access | Reseller/venue |
| MyWiFi Networks platform | OTP generation, validation, contact storage | MyWiFi Networks |
Phase 1: Meta Business Manager setup
Step 1: Create or access Meta Business Manager
If the venue does not have a Meta Business Manager account, create one at business.facebook.com. Each venue (or venue group) needs a verified business on Meta.
Requirements:
- •Business name and address
- •Business website or social media page
- •Administrator with a personal Facebook account
Step 2: Business verification
Meta requires business verification for WhatsApp Business API access. This involves:
- •Submitting official business documents (business registration, utility bill, or tax document)
- •Meta reviews and verifies (typically 1-3 business days)
- •Once verified, the business is approved for API access
Without business verification, the WhatsApp Business account is limited to 250 conversations per 24 hours. With verification, limits start at 1,000 and scale to unlimited based on quality and volume.
For resellers managing multiple venues: you can either verify each venue's business individually (recommended for large clients) or manage multiple phone numbers under your own verified business account (simpler for small venues).
Step 3: Add WhatsApp Business account
In Meta Business Manager:
- •Navigate to Business Settings → Accounts → WhatsApp Accounts
- •Click "Add" → "Create a WhatsApp Account"
- •Enter the business display name (this appears in WhatsApp conversations)
- •Select the phone number that will be the venue's WhatsApp Business number
Phone number requirements:
- •Must be a valid phone number capable of receiving SMS or voice calls (for initial verification)
- •Cannot already be registered as a personal WhatsApp account (if it is, the personal account must be deleted first)
- •Can be a landline or mobile number
- •For multi-location deployments, each location should have its own number
Step 4: Register the phone number
Meta will send a verification code via SMS or voice call to the phone number. Enter the code in Business Manager to complete registration.
Once registered, the phone number is a WhatsApp Business number. The previous WhatsApp account associated with that number (if any) is permanently converted.
Phase 2: WhatsApp Business API configuration
Step 5: Connect to MyWiFi Networks
In MyWiFi Networks' dashboard:
- •Navigate to Settings → Integrations → WhatsApp
- •Click "Connect WhatsApp Business Account"
- •Authenticate with Meta Business Manager credentials
- •Select the WhatsApp Business account and phone number
- •Grant the required permissions (send messages, read messages, manage templates)
MyWiFi Networks uses Meta's Cloud API for WhatsApp Business, which means no additional server infrastructure is required. The API connection is managed entirely through the dashboard.
Step 6: Create message templates
WhatsApp Business API requires pre-approved message templates for outbound messages. You need at minimum three templates:
Template 1: OTP authentication
- •Category: Authentication
- •Content: "Your WiFi login code is {{1}}. Enter this code on the portal to connect. Code expires in 5 minutes."
- •Variables: {{1}} = OTP code
Template 2: Welcome message
- •Category: Marketing
- •Content: "Welcome to [Venue Name]! You are connected to our WiFi. {{1}}. Reply STOP to opt out."
- •Variables: {{1}} = promotional content (discount, link, etc.)
Template 3: Re-visit trigger
- •Category: Marketing
- •Content: "We miss you at [Venue Name]! {{1}}. Valid through {{2}}. Reply STOP to opt out."
- •Variables: {{1}} = offer, {{2}} = expiry date
Submitting templates for approval:
- •In MyWiFi Networks dashboard → WhatsApp → Message Templates
- •Create each template with the required fields
- •Submit for Meta review
- •Approval typically takes 24-48 hours
- •Rejected templates include feedback — revise and resubmit
Common rejection reasons:
- •Misleading content or false urgency
- •Missing opt-out language
- •Using variable placeholders for the entire message (templates need static structure)
- •Content that violates Meta's commerce policies
Step 7: Configure OTP settings
In MyWiFi Networks dashboard → WhatsApp → OTP Settings:
| Setting | Recommended value | Notes |
|---|---|---|
| OTP length | 6 digits | Industry standard |
| OTP expiry | 5 minutes | Balance between security and UX |
| Max attempts | 3 | Lock out after 3 failed entries |
| Cooldown period | 15 minutes | After lockout, guest must wait |
| Auto-validation | Enabled (if supported) | Automatically validates when guest sends the correct OTP back via WhatsApp |
Phase 3: Captive portal design
Step 8: Create the portal in MyWiFi Networks
Navigate to Portals → Create New Portal → select "WhatsApp Login" as the primary authentication method.
Portal layout recommendations:
The portal should be mobile-first. Over 90% of captive portal interactions happen on smartphones. Design for a 375px viewport width.
Above the fold (visible without scrolling):
- •Venue logo (max 120px height)
- •Venue name and brief welcome text (1 line)
- •"Continue with WhatsApp" button — large, green (#25D366), full-width
- •"Or log in with email" — smaller, secondary, below the WhatsApp button
Below the fold: 5. Terms of service and privacy notice links 6. GDPR/data protection consent language (if applicable) 7. Venue branding footer
Step 9: Configure the WhatsApp deep link
The "Continue with WhatsApp" button uses a WhatsApp deep link to open the app with a pre-filled message. The format is:
https://wa.me/{phone_number}?text={pre-filled_message}
MyWiFi Networks generates this link automatically based on your WhatsApp Business number and a session-specific identifier. The pre-filled message typically includes:
- •A session identifier (for matching the opt-in to the portal session)
- •Consent language ("By sending this message, I agree to receive WiFi login and occasional updates from [Venue Name]")
The reseller does not need to configure this manually — the platform handles it. However, understanding the mechanism helps when troubleshooting.
Step 10: Add branding and compliance elements
Branding:
- •Upload venue logo (PNG or SVG, transparent background)
- •Set brand colors for the portal background and text
- •Add venue-specific imagery if desired (keep file sizes under 200KB for fast loading)
Compliance (varies by jurisdiction):
- •GDPR: Privacy notice link, purpose specification, data controller identification
- •LGPD: Same as GDPR plus specific Brazilian requirements
- •CCPA: "Do Not Sell My Personal Information" link (if applicable)
- •General: Terms of service link, data retention notice, opt-out instructions
Step 11: Configure the walled garden
The walled garden defines which domains the guest can access before logging in. For WhatsApp OTP to work, the walled garden must include:
- •
wa.meandapi.whatsapp.com— for the WhatsApp deep link - •
web.whatsapp.com— for WhatsApp Web fallback - •
*.whatsapp.net— for WhatsApp's CDN and messaging infrastructure - •
graph.facebook.com— for Meta's API calls
MyWiFi Networks' platform includes these in the default walled garden configuration for WhatsApp-enabled portals. If you are configuring the walled garden manually on the access point, ensure all four domains are whitelisted.
Phase 4: Hardware configuration
Step 12: Connect access points to MyWiFi Networks
Each supported hardware vendor has a specific integration method. The most common:
Ubiquiti UniFi:
- •Configure external captive portal URL in UniFi Controller → Guest Control
- •Point to MyWiFi Networks' hosted portal URL
- •Whitelist walled garden domains
Cisco Meraki:
- •Dashboard → Wireless → SSIDs → Splash page → Custom splash URL
- •Enter MyWiFi Networks' portal URL
- •Add walled garden entries
Cambium cnPilot:
- •Configure RADIUS or external portal authentication
- •Point to MyWiFi Networks' authentication endpoint
MikroTik:
- •Hotspot server → login page redirect to MyWiFi Networks' URL
- •Configure walled garden in IP → Hotspot → Walled Garden
Detailed hardware configuration guides for each vendor are available in MyWiFi Networks' hardware documentation.
Phase 5: Testing and deployment
Step 13: End-to-end test
Before going live, test the complete flow:
- •Connect to the venue's WiFi on a test device (smartphone)
- •Verify portal loads — check branding, button placement, compliance text
- •Tap "Continue with WhatsApp" — verify WhatsApp opens with the correct pre-filled message
- •Send the message — verify the OTP is received within 10 seconds
- •Enter the OTP — verify the portal validates and grants internet access
- •Check the dashboard — verify the contact appears in MyWiFi Networks' CRM
- •Wait for the welcome message — verify it arrives within the configured delay
- •Test fallback — try the email login path to ensure it works for non-WhatsApp guests
- •Test on multiple devices — iOS and Android, at minimum
- •Test with international numbers — if the venue serves international guests
Common issues and troubleshooting
| Issue | Likely cause | Fix |
|---|---|---|
| WhatsApp does not open when button is tapped | Incorrect deep link format or WhatsApp not installed | Verify deep link URL; add fallback for non-WhatsApp devices |
| OTP not received | Walled garden blocking WhatsApp traffic | Add WhatsApp domains to walled garden |
| OTP received but portal does not validate | Session mismatch or OTP expired | Check session identifier in pre-filled message; increase OTP expiry |
| Portal loads slowly | Large images or unoptimized assets | Compress images under 200KB; minimize portal page weight |
| Guest sees "unsupported browser" | Portal not mobile-optimized | Test portal on all major mobile browsers (Chrome, Safari, Samsung Internet) |
| Welcome message not sent | Template not approved or automation not configured | Check template approval status; verify automation trigger is active |
Step 14: Go live
Once testing passes on both iOS and Android devices with successful contact capture and automation delivery:
- •Remove test contacts from the CRM
- •Enable the portal on the live SSID
- •Monitor the dashboard for the first 24 hours
- •Check opt-in rate — a healthy WhatsApp WiFi portal produces 55-75% opt-in rates
- •Verify automation messages are firing correctly
Scaling to multiple venues
After the first venue is live, subsequent deployments are faster because:
- •Meta Business Manager is already set up and verified
- •Message templates are already approved (can be reused across venues with variable substitution)
- •Portal templates can be cloned and modified for each venue
- •Hardware configuration steps become routine
Time estimates:
- •First venue: 2-4 hours (including Meta setup and template approval waiting time)
- •Subsequent venues (same hardware): 30-60 minutes
- •Subsequent venues (new hardware vendor): 60-90 minutes
For resellers managing 20+ venues, MyWiFi Networks supports bulk portal creation and multi-location management. Contact your account manager for enterprise deployment guidance.
Advanced configuration
Auto-validation
Auto-validation eliminates the OTP entry step. Instead of the guest entering a code on the portal, the system validates when the guest sends the OTP back via WhatsApp. This reduces the login flow from 4 taps to 3 taps.
Auto-validation is recommended for venues where speed of login is critical (QSR, airports, public transit).
Custom WhatsApp Business profiles
The venue's WhatsApp Business profile should include:
- •Business name and logo
- •Business description
- •Business address
- •Business hours
- •Website URL
- •Catalog (if the venue has products/services to showcase)
A complete business profile builds trust and reduces the likelihood of guests marking messages as spam.
Webhook integrations
MyWiFi Networks can forward WhatsApp events (new contact, message received, opt-out) to external systems via webhooks. Use cases:
- •CRM integration (sync contacts to HubSpot, Salesforce, etc.)
- •POS integration (trigger loyalty actions based on transactions)
- •Analytics platforms (send event data to Google Analytics, Mixpanel, etc.)
FAQ
Do I need a separate WhatsApp Business account for each venue?
Each venue needs its own phone number registered with WhatsApp Business. Multiple phone numbers can be managed under a single Meta Business Manager account. For venue chains, one Business Manager with multiple phone numbers is the recommended setup.
Can I use WhatsApp OTP on a portal hosted on my own server?
MyWiFi Networks provides hosted portals by default. Self-hosted portal options are available on Agency and higher plans. Contact support for self-hosted portal documentation.
What happens if Meta rejects a message template?
Meta provides rejection reasons. Common fixes: add opt-out language, remove false urgency ("LIMITED TIME" in caps), ensure the template has static structure (not all variables). Revised templates can be resubmitted immediately.
How do I handle the transition from email to WhatsApp portals?
Run both login methods simultaneously. Set WhatsApp as primary and email as secondary. Existing email contacts remain in the CRM and continue receiving email campaigns. New contacts captured via WhatsApp receive WhatsApp campaigns. Over time, the database shifts toward WhatsApp contacts.
Is there a sandbox or test mode?
Meta provides a WhatsApp Business API sandbox with test phone numbers. MyWiFi Networks' staging environment connects to this sandbox for testing without consuming production API credits. Ask your account manager for staging environment access.
Internal resources
- •WhatsApp WiFi Login: white-label — product overview
- •Hardware Partners — supported access point vendors and configuration guides
- •WhatsApp WiFi Marketing Campaigns — campaign setup after portal deployment